C#,实体框架,自动增量

c# entity-framework

我正在学习VC#2010下的实体框架。

我创建了一个用于学习目的的简单表,其中一个字段是“id”类型整数,标识设置为true。我已从该表生成实体数据模型并将其与dataGridView连接。问题是它不会自动递增 - 每个插入的行都想成为id = 0(当然,这是不可能的,因为id必须是唯一的)

我究竟做错了什么?我应该如何配置EF或SQL db本身?

一般承认的答案

检查您的EDMX模型,自动增量字段的StoreGeneratedPattern属性设置为“Identity”。通过这种方式,EF知道自动程序由DB处理。

这里更好地解释了: 使用实体框架的自动编号


热门答案

仅通过添加到实体集来设置和增加标识...在调用context.SaveChanges()之前,实体实际上不会保存到数据库中。

db.AddToUserSet(user);//Added to EF entity collection
db.SaveChanges();//INSERT executed in db, Identity set and incremented.



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因