实体框架是否知道identity列?
我使用的是SQL Server2005Express Edition,并且有几个主键是标识列的表。当我使用这些表创建实体模型,并将该模型与实体数据源绑定到formview以创建新实体时,系统会要求我为identity列输入值。有没有一种方法可以使框架不要求标识列的值?
发布于 2008-12-23 09:46:41
我知道这篇文章很老了,但这可能会帮助下一个到达的人通过谷歌搜索"Entitiy“和"Identity”听到。
看起来实体框架确实尊重服务器生成的主键,就像设置了"Identity“属性时的情况一样。但是,应用程序端模型仍然需要在CreateYourEntityHere
方法中提供主键。在对上下文进行SaveChanges()
调用时,将丢弃此处指定的键。
页面here提供了有关这方面的详细信息。
发布于 2013-07-19 11:01:41
如果您使用的是Entity Framework5,则可以使用以下属性。
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
发布于 2008-09-23 16:28:14
您应该设置标识列的标识规范,以便将(Is Identity)属性设置为true。您可以在SSMS中的表设计器中执行此操作。然后您可能需要更新实体数据模型。
也许这就是您所说的“主键是标识列”的意思,或者您可能错过了这一步。
https://stackoverflow.com/questions/120755
复制相似问题