簡體   English   中英

自我引用Fluent NHibernate自動化中的多對多關系

[英]Self referencing many to many relationships in Fluent NHibernate automapping

標題幾乎解釋了這一切,我有一個成員對象,引用也是類型成員的'朋友'。

 public class Member : Entity
    {
        public Member()
        {            
            Friends = new List<Member>();
        }

        public virtual IList<Member> Friends
        {
            get; set;
        }
     }

模式生成工具使其成為1:n關系,而它應該是:n關系,即將列添加到名為member_id的成員表中,並且不創建連接表。

有沒有辦法讓自我在Fluent NHibernate中引用多對多的關系?

絕對有可能。 您只需要創建一個覆蓋

public class MemberOverride : IAutoMappingOverride<Member>
{
    public void Override(AutoMapping<Member> mapping)
    {
        mapping.HasManyToMany(m => m.Friends)
               .Table("MemberFriendsLinkTable");
               .ParentKeyColumn("MemberId")
               .ChildKeyColumn("FriendId");
    }
}

只需告訴自動映射配置,您的覆蓋將包含這些配置。

編輯:已更新以包括父鍵和子鍵列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM