我在我的项目中使用代码优先 EF,并且在插入具有自定义 ID 的数据时遇到问题。
当我尝试插入具有自定义 ID 的数据(例如 999)时,EF 会忽略它并将递增的 ID 插入到表中。
我的模型:
public class Address
{
[Key]
public int Id { get; set; }
public string FirstName { get; set; }
...
}
如何解决这个问题?
编辑:
1) 如何从 N 开始递增,而不是从 0 开始递增?
2) 如果我不指定自定义 ID,数据库必须递增并插入自己的 ID。如果我指定自定义 ID,数据库必须插入它。可能吗?
最佳答案
你可以使用下面的属性
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
关于你的类(class)或使用 fluentAPI 的关键
modelBuilder.Entity<Address>().Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
关于c# - Code-First Entity Framework 使用自定义 ID 插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728226/