繁体   English   中英

EF4代码首先与外部实体有多对多的关系

[英]EF4 code first many to many relationship to external entity

问题

我有两节课:

  • 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”类型的声明属性。 验证它是否未从模型中明确排除,并且它是有效的导航属性

您可以添加一个额外的实体,该实体只有一个ID和一个指向BusinessUnit的链接。 在您的实体模型中,您将忽略BusinessUnit,但添加链接实体,以便获得多对多关系链接表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM