我有一个EDM,有以下三种类型:Foo,Bar和Foob。 Foob是Foo的子类。 Foo有一系列Bar实体。 Bar有一系列Foo实体。我想在集合中添加一个新的Foo对象,以及它的Bar和相关的Foob对象。这样下面的代码就可以了:
Foo foo = new Foo(){Name = "Foo"};
using(var ctx = new EntityContext())
{
ctx.Foo.Attach(foo);
Bar bar = new Bar();
bar.Items.Add(new Foob(){Name="Foob1"};
bar.Items.Add(new Foob(){Name="Foob2"};
foo.Bars.Add(bar);
ctx.SaveChanges();
}
但是上面的代码给了我以下例外:
System.Data.SqlClient.SqlException:无法在具有唯一索引的对象'dbo.tblFoo'中插入重复的键行。
答案 0 :(得分:1)
尝试检查在SQL事件探查器中为此执行的sql代码。也许你忘了为Foob实体设置自动增量。