2010-11-19 2 views
0

Предположим, что простой случай - простая связь между таблицей A и таблицей B, где B имеет в ней поле A_Id.Как наилучшим образом назначить объектные отношения в LinqToSql

Теперь предположим, что у меня есть объект типа A (currentA), и я создаю совершенно новый объект B.

B newB = new B() { A_id = currentA.Id }; 

Это правильный способ установить эти отношения? Или следует делать:

B newB = new B() { A = currentA }; 

Во втором случае устанавливается B.A_Id автоматически?

Возможно, мне нужно явно установить оба параметра?

B newB = new B() { A = currentA, A_Id = currentA.Id }; 

Ищу наиболее элегантный способ, чтобы установить это новое соотношение, что я могу правильно сохранить его в базу данных позже, и может использовать его сразу же ... например, я мог бы сделать:

MessageBox(String.Format("B's parent is now {0}", B.A.Name)); 

ответ

0

это не было интуитивно мне в первый, но ответ на:

currentA.Bs.Add(new B()); 

кажется, что если вы Добавить объект в EntitySet, он будет заботиться о назначении соответствующего Взаимоотношения Свойства nship на добавленном объекте.

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