我有两节课:
办公室资料和业务单位之间存在多对多的关系,我想在链接表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'。验证是否未明确排除它 从模型中,它是一个有效的导航属性
答案 0 :(得分:0)
您可以添加一个额外的实体,该实体只有一个ID和一个指向BusinessUnit的链接。在您的实体模型中,您将忽略BusinessUnit,但添加链接实体,以便获得多对多关系链接表。