2015-11-21 37 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以后会更容易

还要检查这些: