ADO.NET实体框架和标识列

50 .net sql-server identity entity-framework

实体框架是否了解标识列?

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

bio*_*inc 67

我知道这篇文章很老了,但这可能有助于下一个到达的人通过谷歌搜索"Entitiy Framework"和"Identity".

似乎Entity Frameworks确实尊重服务器生成的主键,因为如果设置了"Identity"属性,则会出现这种情况.但是,应用程序端模型仍然需要在该CreateYourEntityHere方法中提供主键.此处指定的密钥在SaveChanges()调用上下文时被丢弃.

此处的页面提供了有关此内容的详细信息.


Siv*_*iva 5

如果您使用的是Entity Framework 5,则可以使用以下属性.

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
Run Code Online (Sandbox Code Playgroud)


Bir*_*iri 2

实体框架能够感知并可以处理标识列。

您的问题可能不是 EF 本身,而是它生成的表单视图。尝试从插入表单中删除标识列的输入,让我们看看会发生什么。