2015-11-21 98 views
1

我有一個電影實體和演員的實體,這些實體2有一個多對多的關係,所以我映射它作爲ManyToMany(x=>x.Movies)ManyToMany(x=>x.Actors)但我想有該演員在電影上播放的角色,它應該留在MoviesActorsPivot作爲一個新列在多對多的關係添加自定義列NHibernate的

但是,我該如何使用Fluent Nhibernate映射以我可以獲得並保存數據的方式像nhibernate一樣簡單?

不是手動創建數據透視表並在兩側製作HasMany(x => x.MoviesActorsPivot)並由我自己管理關聯。

編輯:

或者,如果我映射它創造兩側HasMany(x => x.MoviesActorsPivot),如何將我設法插入並獲得像一個演員說上一部電影充當所有動畫或所有行動者人數據,得到所有的人物名字?

回答

1

答案是:

NHibernate的本地many-to-many映射不支持上的配對錶

任何額外的設置,但是,它可以用一個配對的對象是第一級公民被替換

public class MovieActor 
{ 
    public virtual Movie Movie { get; set; } 
    public virtual Actor Actor { get; set; } 
    ... // more properties here 
    public virtual int Rating { get; set; } 
} 

public class Actor 
{ 
    public virtual IList<MovieActor> Movies { get; set; } 
} 

public class Movie 
{ 
    public virtual IList<MovieActor> Actors { get; set; }  
} 

這將是標準HasManyReferences映射。而queriyng以後會更容易

還要檢查這些: