Каков предпочтительный способ установить внешние отношения для организации? - PullRequest
1 голос
/ 23 июля 2010
Product product = new Product() {
    Category = category
};

_session.CommitChanges();

против

Product product = new Product() {
    Category.ID = category.ID
};

_session.CommitChanges();

В чем разница?Какой использовать?Оба они кажутся действительными и правильно сохраняются в базе данных.

Ответы [ 2 ]

0 голосов
/ 23 июля 2010

Всегда используйте первую версию.Это позволит убедиться, что все отношения находятся в состоянии, в котором они должны быть, потому что ключи и прочее назначаются и управляются RelationshipManager.

0 голосов
/ 23 июля 2010

Я просто передаю Category.ID.

Когда запрос выполняется к базе данных, единственной информацией, которая передается в Product, является ID категории, то есть эта информация будет храниться в БД.(в каждой строке Product).

За занавесом движок знает поля, необходимые для генерации команды SQL-вставки, в этом случае при сохранении Product необходим только Category.ID.Поэтому, независимо от того, какую опцию вы выберете, операция сохранения всегда будет успешной.

...