Tag: 紧凑框架

SQL Server Compact不支持服务器生成的密钥和服务器生成的值

我刚开始玩entity framework,所以我决定把它连接到我现有的SQL Server CE数据库。 我有一个IDENTITY(1,1)主键的表,但是当我试图添加一个实体,我有上述错误。 从MS Technet artice我了解到 与entity framework一起使用时,SQL Server Compact不支持具有服务器生成的键或值的实体。 使用entity framework时,实体的密钥可能被标记为服务器生成的。 这使数据库能够为插入或创build实体时的密钥生成一个值。 此外,实体的零个或多个属性可能被标记为服务器生成的值。 有关更多信息,请参阅entity framework文档中的“存储生成的模式”主题。 虽然entity framework允许您使用服务器生成的键或值来定义实体types,但SQL Server Compact不支持与entity framework一起使用服务器生成的键或值的实体。 具有服务器生成值的实体上的数据操作操作会引发“不支持”exception。 所以现在我有几个问题: 为什么你会把键标记为服务器生成的,如果不支持,会抛出一个exception? 从引用的段落中很难理解。 当我试图将StoreGeneratedPattern =“Identity”添加到我的实体的属性中时,Studio抱怨说这是不允许的。 我做错了什么? 这个限制的最佳解决方法是什么(包括切换到另一个数据库)? 我的限制是零安装和使用entity framework。