![](/img/trans.png)
[英]Need help with a 'No persister for:' exception with Fluent Nhibernate Automapping
[英]Fluent Nhibernate AutoMapping — 2 foreign keys to same table?
假設我正在做一個基本的交易系統,我有以下對象。
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;}
}
請注意我如何將兩個關系返回給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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.