13

这与Property(() => p).HasDatabaseGeneratedOption()呼叫一起使用。也许是关闭默认数据库值生成?

4

2 回答 2

32

EF 用于DatabaseGeneratedOption确定如何处理新实体的键列的值。如果DatabaseGeneratedOptionIdentityEF 知道可以忽略属性设置的值,并且应该使用来自数据库的值。如果DatabaseGeneratedOptionNoneEF 则将属性的值作为键列的值插入到数据库中。

在 Code First 中 - 当 Code First 约定找到一个可以作为给定实体的键属性的 int 属性时,默认情况下,它们会将此列配置为标识列(这意味着数据库将生成键列/属性的值)。DatabaseGeneratedOption.None如果您想自己设置键值,则允许您覆盖它。

于 2013-03-22T15:47:26.400 回答
2

其作用是将 EF 配置为在插入数据库后不获取新的标识值。

于 2013-03-22T10:21:13.777 回答