如何在使用代码优先时使实体框架自动增加ID

时间:2015-09-26 14:37:16

标签: c# entity-framework ef-code-first code-first

我使用代码优先方法,因此我没有StoreGeneratedPattern文件,所以我无法更改isinstance属性。然后我如何使EF自动增加ID? (现在所有ID默认为零)

2 个答案:

答案 0 :(得分:1)

如果满足以下任何条件,则会生成具有自动增量的主键(默认行为):

  • 该类包含名为“Id”
  • 的属性
  • 该类包含名为 $ className +“Id”
  • 的属性
  • 感兴趣的财产使用KeyAttribute
  • 注释

在没有Key属性的情况下,您的属性可能被命名为“ID”而不是“Id”吗?

答案 1 :(得分:1)

首先使用EF代码指定密钥有三种方法:

  • 使用内置代码约定(前两个项目符号)
  • 直接在属性/字段
  • 上使用KeyAttribute数据注释
  • 使用Fluent API指定关键字段