Добавление «объекта второго уровня» с Entity Framework (C #) - PullRequest
1 голос
/ 22 октября 2010

Я пытаюсь добавить объект:

Person (id, firstName, lastName) 

и другой объект:

Details(id, personId, phoneNumber, address).

Конечно, столбец «id» в Person и Details автоматически увеличивается. И внешний ключ personId является обязательным в деталях.

Я использую Entity Framework. Я создал несколько основных функций, которые позволяют мне добавлять и удалять объекты:

Person p = new Person();
p.firstName = "foo";
p.lastName  = "bar";
this.context.addToPersons(p);    // That works great

Details d = new Details();
d.phoneNumber = "013245678";
d.adress = "there";
this.context.addToDetails(d); // This didn't work

Конечно, последняя инструкция не сработала, так как "personId" необходим.

Таким образом, решением было бы получить «p» «id», когда «p» сохраняется, и затем вручную поместить его в столбец «personId».

Как я могу это сделать?

Можно ли сделать так:

p.details.addToDetails(d); 

, а затем дать человеку автоматически? Если да, как я могу это сделать?

Спасибо

Привет.

1 Ответ

0 голосов
/ 22 октября 2010

Если вы правильно настроили свои внешние ключи и отношения работают, вы можете просто сказать:

p.details.Add(d);
...