Mar*_*ing 2 .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 Buyer{get; set;}
}
Run Code Online (Sandbox Code Playgroud)
请注意我如何将两个关系返回给User对象.当FHN生成表模式时,我从事务表返回到用户表的3 FK关系,"Buyer_id","Seller_id","User_id"
我认为它是基于默认情况下将引用属性称为"用户"的事实错误地自动生成"User_id"字段
如何使用FNH指定此映射?
Yarg!
我最终在做自动映射时想出来,你必须指定一个带有两个独立的Has Many映射的覆盖
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1337 次 |
| 最近记录: |