我有一个具有以下三种类型的 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”中插入重复的键行。