Отношения один-ко-многим не работают - Entity Framework - PullRequest
2 голосов
/ 27 сентября 2010

У меня проблема с созданием отношения один-ко-многим (или один-к-одному?) В структуре сущностей (я полагаю, 3.5).

Примеры таблиц / моделей:

Settings:
    SettingsID pk int not null
    SettingsName varchar(250) null
    SettingsTypeID fk int null

SettingsType:
   SettingsTypeID pk int not null
   SettingsTypeName varchar(250)

У меня есть ограничение внешнего ключа на Settings.SettingsTypeID, которое ссылается на SettingsType.SettingsTypeID.

При сохранении настройки (с выбранным settingstype) значения сохраняются правильно (я проверил БДчтобы быть уверенным и видеть правильное значение Setting.SettingsTypeID).

Однако при попытке извлечь объект settingType на основе выбранного Setting, например,

var SettingsType = Setting.SettingsType;

Setting.SettingsType всегда возвращается null?

Я что-то упустил или?

1 Ответ

4 голосов
/ 27 сентября 2010

Вам необходимо загрузить объект SettingType, связанный с вашим объектом Setting, используя один из шаблонов загрузки, описанных в этой статье на Загрузка связанных объектов (MSDN) .

Я бы предложил использовать Include метод , примерно так:

var setting = (from s in context.Settings.Include("SettingsType") 
               where s.SettingsID == id select s).FirstOrDefault();
...