我在实体框架中创建一对多(或一对一?)关系时遇到问题(我相信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
的{{1}}上有一个外键约束。
保存设置后(选择SettingsType.SettingsTypeID
),值保存正确(我已检查过数据库以确保正确,并且可以正确看到settingstype
更新的值)。
但是,在尝试根据所选的Setting.SettingsTypeID
检索settingType
对象时,例如
Setting
var SettingsType = Setting.SettingsType;
总是回来Setting.SettingsType
?
我错过了什么或?
答案 0 :(得分:4)
您需要使用Loading Related Objects (MSDN)上本文所述的加载模式之一加载与SettingType
对象关联的Setting
对象。
我建议使用Include
method,如下所示:
var setting = (from s in context.Settings.Include("SettingsType")
where s.SettingsID == id select s).FirstOrDefault();