Присоединение дерева объектов к контексту объекта в Entity Framework - PullRequest
0 голосов
/ 20 декабря 2010

У меня есть EDM со следующими тремя типами: Foo, Bar и Foob.Foob является подклассом Foo.У Foo есть коллекция сущностей 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' с уникальным индексом.

1 Ответ

1 голос
/ 20 декабря 2010

Попробуйте проверить SQL-код, который был выполнен для этого в профилировщике SQL.Может быть, вы забыли установить автоинкремент для объекта Foob.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...