C# 如何:避免EF创建Id
在EF4中,我有下表C# 如何:避免EF创建Id,c#,.net,sql-server,entity-framework,C#,.net,Sql Server,Entity Framework,在EF4中,我有下表 CREATE TABLE [dbo].[Things]( Id] [uniqueidentifier] NOT NULL, [Text] [nvarchar](2048) NULL, CONSTRAINT [PK_AdjustmentMarker] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KE
CREATE TABLE [dbo].[Things](
Id] [uniqueidentifier] NOT NULL,
[Text] [nvarchar](2048) NULL,
CONSTRAINT [PK_AdjustmentMarker] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
在EDMX中,StoreGeneratedPattern设置为Identity:
<Property Name="Id" Type="uniqueidentifier" Nullable="false" StoreGeneratedPattern="Identity" />
人们可以在匿名环境中添加评论(真实数据,但伪造客户姓名等)。我们在匿名环境中导出注释,在生产环境中导入注释,并且需要原始密钥。但是当使用EF(AddObject)添加注释时,在调用SaveChanges之后,EF重新计算Id并插入带有新Id的注释
我有什么不对劲吗?我以为StoreGeneratedPatter=Identity会起作用
资料来源:
在SSDL中为自动增量字段将StoreGeneratedPattern属性设置为“Identity”。这会有所帮助
()对于
StoreGeneratedPattern
属性,您可以查看以下内容:我刚刚编辑了上面的内容。但这是否意味着我链接的源stackoverflow是一个错误的答案?