gpt4 book ai didi

c# - 使用 Entity Framework 自动编号

转载 作者:可可西里 更新时间:2023-11-01 03:14:15 25 4
gpt4 key购买 nike

我想遍历一组对象并将它们全部添加到一个表中。目标表有一个自增字段。如果我添加单个对象,则没有问题。如果我添加两个主键都为零的对象, Entity Framework 将失败。我可以手动指定主键,但尝试 EF 的全部目的是让生活更轻松而不是更复杂。这是代码,随后收到异常。

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

try
{
context.SaveChanges();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}

错误是:

System.InvalidOperationException: The changes to the database were committed successfully, but an error occurred while updating the object context. The ObjectContext might be in an inconsistent state. Inner exception message: AcceptChanges cannot continue because the object's key values conflict with another object in the ObjectStateManager. Make sure that the key values are unique before calling AcceptChanges. at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
at System.Data.Objects.ObjectContext.SaveChanges() at DataMigration.Program.CopyInstructors() in C:\Projects\DataMigration\Program.cs:line 52

最佳答案

在自动增量字段的 SSDL 中将 StoreGeneratedPattern 属性设置为“Identity”。它应该有所帮助。

关于c# - 使用 Entity Framework 自动编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com