相关疑难解决方法(0)

使用实体框架自动编号

我想遍历一组对象并将它们全部添加到表中.目标表具有自动增量字段.如果我添加一个对象没有问题.如果我添加两个主键为零的对象,则实体框架失败.我可以手动指定主键,但尝试EF的重点是让生活变得更轻松而不是更复杂.这是代码,接收的异常如下.

foreach (Contact contact in contacts)
{               
    Instructor instructor = InstructorFromContact(contact);             
    context.AddToInstructors(instructor);               
}

try
{                   
    context.SaveChanges();                  
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
Run Code Online (Sandbox Code Playgroud)

错误是:

System.InvalidOperationException:已成功提交对数据库的更改,但更新对象上下文时发生错误.ObjectContext可能处于不一致状态.内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突.在调用AcceptChanges之前,请确保键值是唯一的.在System.Data.Objects.ObjectContext.SaveChanges(SaveOptions选项)
的System.Data.Objects.ObjectContext.SaveChanges()在DataMigration.Program.CopyInstructors()在C:\ Projects\DataMigration\Program.cs:第52行

c# entity-framework exception auto-increment

15
推荐指数
3
解决办法
4万
查看次数

标签 统计

auto-increment ×1

c# ×1

entity-framework ×1

exception ×1