问题
我有两个课程:
- OfficeProfile:存在于我的 EF 模型中
- BusinessUnit:来自外部来源,例如 Web 服务
办公室资料和业务单位之间存在多对多关系,我想在链接表中表示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”不是“OfficeProfile”类型的声明属性。验证它没有被明确地从模型中排除,并且它是一个有效的导航属性
.