2012-05-16 5 views
0

У меня есть объект Apple, где он содержит увеличивающееся поле идентификации.добавление связанных объектов?

Owner owner = new Owner(); 
Apple apple = new Apple(); 
DbContext.Apple.Add(apple); 
Owner.Apple = apple; 
DbContext.Owner.Add(owner); 
DbContext.SaveChanges(); 

Будет ли приведенный выше код правильно связывать два объекта вместе, одновременно вставляя их в базу данных?

Я предполагаю, что это имеет какое-то отношение к задержанному исполнению, но я все еще очень размыл эту концепцию.

ответ

1

Вы можете назначить Apple своему владельцу, вставить владельца в свою базу данных, а затем оба они встанут (с отношением между ними).

Так же, как это:

Owner owner = new Owner(); 
Apple apple = new Apple(); 
Owner.Apple = apple; 
DbContext.Owner.Add(owner); 
DbContext.SaveChanges(); 
+0

прохладного спасибо за быстрый ответ! в этом примере 'apple' - это новый объект, добавленный к' owner', теперь, что, если 'apple' является существующим объектом? будет ли EF просто связываться с существующим или создать дублированный объект? – Bonk

+1

Если отслеживание изменений включено на вашем объекте (которое по умолчанию, если вы извлекаете Apple из своей базы данных), инфраструктура сущности обнаруживает, что это уже существующий объект и будет просто выполнять обновление. –

Смежные вопросы