ADO.NET实体框架和标识列问题如何解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

实体框架是否知道标识列?

我正在使用SQL Server 2005 Express Edition,并有几个表,其中主键是标识列。当我使用这些表创建一个实体模型并将该模型与一个实体数据源绑定到一个formview以创建一个新实体时,我被要求输入一个标识列的值。有没有办法让框架不要求标识列的值?

提问于
用户回答回答于

如果使用的是实体框架5,则可以使用以下属性。

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
用户回答回答于

我知道这篇文章已经过时了,但这可能有助于下一个人通过谷歌搜索“Entitiy Framework”和“Identity”收听。

看起来Entity Frameworks确实遵守服务器生成的主键,如果设置了“Identity”属性,情况就会如此。但是,应用程序端模型仍然需要在该CreateYourEntityHere方法中提供主键。这里指定的密钥在SaveChanges()调用上下文时被丢弃。

这里的页面给出了关于这个的详细信息。

扫码关注云+社区