简体   繁体   English

自我引用Fluent NHibernate自动化中的多对多关系

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

The title pretty much explains it all, I have a Member object that references 'Friends' who are also type Member. 标题几乎解释了这一切,我有一个成员对象,引用也是类型成员的'朋友'。

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

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

The schema generation tool makes it a 1:n relationship while it should be an:n relationship ie a column is added to the member table called member_id and no connecting table is created. 模式生成工具使其成为1:n关系,而它应该是:n关系,即将列添加到名为member_id的成员表中,并且不创建连接表。

Is there any way to make a Self referencing many to many relationships in Fluent NHibernate? 有没有办法让自我在Fluent NHibernate中引用多对多的关系?

Definitely possible. 绝对有可能。 You just need to create an override 您只需要创建一个覆盖

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

Just tell the auto mapping configuration where your overrides are to have these included. 只需告诉自动映射配置,您的覆盖将包含这些配置。

EDIT: Updated to include Parent and Child key columns 编辑:已更新以包括父键和子键列

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

相关问题 自我引用Fluent NHibernate中的多对多关系自动化自动化为1:n而不是n:n - Self referencing many to many relationships in Fluent NHibernate automapping automapping to 1:n and not n:n 流利的NHibernate多对多映射自引用和关联表 - Fluent NHibernate Many-to-Many Mapping Self Referencing with associative table 流畅的NHibernate(具有自动化)不会在多对多中保存连接表值 - Fluent NHibernate (with automapping) not saving join table values in many-to-many 为什么流畅的nhibernate自动映射会创建许多外键而不是一个? - Why fluent nhibernate automapping creates many foreign keys instead of one? NHibernate:自我引用多对多配置问题 - NHibernate: Self Referencing Many to Many configuration issue 流利的Nhibernate,在一对多关系中挣扎 - Fluent Nhibernate, stuggling with one-to-many relationships 流利的Nhibernate,苦于一对多关系 - Fluent Nhibernate, Struggling With One-to-many Relationships 许多人加入Fluent NHibernate的自我问题 - Issue with self-many to many join in Fluent NHibernate 使用Fluent NHibernate自动映射创建多个双向一对多关联 - Creating multiple bi-directial one-to-many associations with Fluent NHibernate automapping NHibernate自引用多对多,无需“向上引用” - NHibernate self-referencing many-to-many without “up reference”
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM