一对多关系不起作用 - 实体框架

时间:2010-09-27 14:42:12

标签: c# entity-framework entity one-to-many

我在实体框架中创建一对多(或一对一?)关系时遇到问题(我相信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

我错过了什么或?

1 个答案:

答案 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();