0

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

4

1 回答 1

1

尝试在 SQL 探查器中检查为此执行的 sql 代码。可能是您忘记为 Foob 实体设置自动增量。

于 2010-12-20T09:20:16.063 回答