【问题标题】:Entity Framework 4 Code First, Complex Many to Many relationshipEntity Framework 4 Code First,复杂的多对多关系
【发布时间】:2011-06-21 17:32:15
【问题描述】:

我在 EF 中看到了几个使用代码优先的多对多关系示例,但我遇到了一种我不知道如何解决的情况。

我的应用有三个 POCO 类,Account、User 和 Role。每个用户都可以是多个帐户的成员,并且每个用户都具有唯一的角色。例如,用户 A 可以在帐户 A 的角色 A 和帐户 B 的角色 B 中。本质上,帐户和用户之间存在多对多关系,并且这些关系中的每一个都具有分配给每个帐户的角色-用户组合。

在我当前的非代码优先设置中。我有一个包含用户 ID、帐户 ID 和角色 ID 的表。

有没有办法使用代码优先做到这一点?

【问题讨论】:

    标签: entity-framework-4.1 poco ef-code-first


    【解决方案1】:

    是的,您可以使用 CodeFirst 执行此操作,您将需要一个额外的类(实体)来表示此关系表。

    您的用户将拥有一组具有角色和帐户的帐户成员资格。

    User
    --- has a collection of AccountMemberShips
    
    AccountMemberShip
    --- has a  Role
    --- has an Account
    --- has a  User
    
    Account
    --- has a collection of AccountMemberShips
    
    Role
    --- has a collection of AccountMemberShips
    

    【讨论】:

    • 谢谢,我不知道为什么我没有想到将它定义为一个单独的类。
    • 只有没有负载的关系(除了表中的 id 和表 b 中的 id 之外的其他信息)可以在没有额外类的情况下建模。
    猜你喜欢
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多