问题
尝试在单个SaveChanges()调用中保存多个数据库实体时,收到以下错误:
保存或接受更改失败,因为多个类型的实体' Example.Data.QuestionCategory'具有相同的主键值。确保显式设置的主键值是唯一的。确保在数据库和Entity Framework模型中正确配置了数据库生成的主键。使用实体设计器进行数据库优先/模型优先配置。使用' HasDatabaseGeneratedOption"流利的API或“DatabaseGeneratedAttribute”#39;用于Code First配置。
示例代码
using (var context = new DatabaseEntities())
{
var category = new QuestionCategory()
{
Name = "Test 1"
};
context.QuestionCategories.Add(category);
var child = new QuestionCategory()
{
Name = "Test 2",
};
context.QuestionCategories.Add(child);
context.SaveChanges();
}
其他信息
我们正在使用从数据库表生成的实体框架6模型,其中ID列是标识列。
有没有人知道如何解决这个问题,而不是在添加每个项目后专门保存(这只是一个更大的代码块的例子)?