首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建多对多关系(EF代码优先),其中关系的每一端都是相同的类型

创建多对多关系(EF代码优先),其中关系的每一端都是相同的类型
EN

Stack Overflow用户
提问于 2014-02-19 06:30:42
回答 2查看 34关注 0票数 0

可能想得太多了,但我正在尝试建立下面的关系。我有一个组织对象。每个组织可以有多个AuthorizedThirdParties。AuthorizedThirdParties也是组织。我该如何做到这一点?对于某些上下文。授权的第三方是一种表示“这个特定的组织(不是我)可以访问我的组织的某些信息”的一种方式。

组织模型(为简洁起见进行了修剪):

代码语言:javascript
运行
复制
public class Organization
{
    [Key]
    public int OrganizationId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Organization> AuthorizedThirdParties { get; set; }
}

我正在考虑做一些流利的API的东西,但似乎不知道如何做。我已经为其他几个m2m关系设置了,但每个关系都引用了不同的模型(如组织和用户)。

EN

Stack Overflow用户

发布于 2014-02-19 09:15:45

如果关系是多对多的(一个组织可以有多个AuthorizedThirdParties,一个组织可以是许多其他组织的授权第三方),则只需使用标准映射即可。无论目标实体是相同还是不同,都没有什么特殊之处:

代码语言:javascript
运行
复制
modelBuilder.Entity<Organization>()
    .HasMany(o => o.AuthorizedThirdParties)
    .WithMany()
    .Map(m =>
    {
        m.ToTable("AuthorizedThirdPartyMap");
        m.MapLeftKey("OrganizationId");
        m.MapRightKey("AuthorizedThirdPartyId");
    });
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21866879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档