![](/img/trans.png)
[英]Self referencing many to many relationships in Fluent NHibernate automapping automapping to 1:n and not n:n
[英]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.