.net Fluent Nhibernate自动映射--将两个外键映射到同一个表?

.net Fluent Nhibernate自动映射--将两个外键映射到同一个表?,.net,nhibernate,orm,fluent-nhibernate,.net,Nhibernate,Orm,Fluent Nhibernate,假设我正在做一个基本的事务系统,其中有以下对象 public class User { public virtual int Id{get; set;} } public class Transaction { public virtual int Id{get; set;} public virtual Item Item {get; set;} public virtual User Seller{get; set;} public virtual User

假设我正在做一个基本的事务系统,其中有以下对象

public class User
{
   public virtual int Id{get; set;}
}

public class Transaction
{
   public virtual int Id{get; set;}
   public virtual Item Item {get; set;}
   public virtual User Seller{get; set;}
   public virtual User Buyer{get; set;}
}
请注意,我有两个关系返回到用户对象。当FHN生成表模式时,我从事务表返回到用户表的3个FK关系,“买方id”、“卖方id”、“用户id”

我认为它自动生成“User\u id”字段是错误的,因为默认情况下它希望引用属性被称为“User”

如何使用FNH指定此映射?

Yarg

我终于明白了,在进行自动映射时,必须使用两个单独的映射指定一个覆盖

   return Fluently.Configure()
    .Database(persistenceConfigurer)
    .Mappings(m => m.AutoMappings.Add(
        AutoMap.AssemblyOf<User>()
            .Override<User>(map=> map.HasMany(user=> user.Transactions).KeyColumn("Buyer_id"))
            .Override<User>(map => map.HasMany(user => user.Transactions).KeyColumn("Seller_id"))                
        ))
    .ExposeConfiguration(BuildSchema)
    .BuildSessionFactory();
流畅地返回。Configure()
.数据库(persistenceConfigurer)
.Mappings(m=>m.AutoMappings.Add(
自动映射
.Override(map=>map.HasMany(user=>user.Transactions).KeyColumn(“买方id”))
.Override(map=>map.HasMany(user=>user.Transactions).KeyColumn(“卖方id”))
))
.ExposeConfiguration(构建架构)
.BuildSessionFactory();