2014-11-10 2 views
0

У меня есть два объекта, которые соединены внешним ключом, поэтому, когда я создаю второй объект, я должен указать идентификатор родительских объектов.Получить идентификатор объекта после создания

Идентификатор родительских объектов генерируется автоматически, когда я его создаю, и как я могу получить этот идентификатор для указания при создании дочернего элемента?

db.ParentClasses.Add(new ParentClass 
    { 
     name = "test" 

    }); 
db.ChildClasses.Add(new ChildClass 
    { 
     name = "test", 
     someValue = "thing"; 
     parentID = ?????? // I have just created the parent above, how do I get the ID? 
    }); 
db.SaveChanges(); 

Я попытался запустить, что без указания родительского идентификатора сущности и не ошибки брошен, но создаются только родительский объект. Детский объект не создается и не генерируется ошибка.

ответ

1

Вместо parentID в дочернем классе вы используете сам объект родительского класса. Вот быстрый псевдокод.

var parent = new ParentClass() { name = "parent"}; 
var child = new ChildClass() { name = "child", parent = parent }; 
db.ParentClasses.Add(parent); 
db.ChildClasses.Add(child); 
db.SaveChanges(); 
+0

Спасибо, это работает, и ребенок создан, и идентификаторы верны в родительской записи, но у дочерней записи нет идентификатора родителя, но я думаю, что это связано с моими комментариями, поэтому я буду проверять это. – Guerrilla

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