【发布时间】:2012-01-08 17:29:31
【问题描述】:
问题
我有两个课程:
- OfficeProfile:存在于我的 EF 模型中
- BusinessUnit:来自外部来源,例如网络服务
办公室资料和业务部门之间存在多对多关系,我想在链接表OfficeProfilesBusinessUnits 中表示。我不想最终得到一个 BusinessUnits 表,但其中包含一个业务单位列表,因为这些业务单位存储在我无法控制的外部域中。
有可能实现吗?
public class OfficeProfile
{
public OfficeProfile()
{
ContactNumbers = new HashSet<ContactNumber>();
BusinessUnits = new HashSet<BusinessUnit>();
}
public int OfficeProfileId { get; set; }
public Address Address { get; set; }
public ICollection<ContactNumber> ContactNumbers { get; private set; }
public ICollection<BusinessUnit> BusinessUnits { get; private set; }
}
public class BusinessUnit
{
public BusinessUnit(string code, string name, BusinessUnit parent)
{
Code = code;
Name = name;
Parent = parent;
}
public string Code { get; set; }
public string Name { get; set; }
public BusinessUnit Parent { get; set; }
}
我尝试过的
我尝试忽略 BusinessUnit 实体,但是忽略了链接表。
我尝试在映射多对多关系时忽略 BusinessUnit 实体,但是会抛出 InvalidOperationException 声明
导航属性“BusinessUnits”不是在 输入“办公室档案”。验证它没有被明确排除 来自模型并且它是一个有效的导航属性
.
【问题讨论】:
标签: c# entity-framework entity-framework-4.1 ef-code-first ef4-code-only