我有一个电影实体和一个演员实体,这两个实体有多对多关系,所以我把它映射为ManyToMany(x=>x.Movies)
和ManyToMany(x=>x.Actors)
但我想要有角色扮演电影的演员应该留在MoviesActorsPivot
作为新专栏
但是我怎样才能使用Fluent Nhibernate Mapping以我能得到的方式来保存数据,就像nhibernate一样简单?
不手动创建数据透视表,双方都设置HasMany(x => x.MoviesActorsPivot)
并自行管理关联。
修改
或者,如果我在两侧创建HasMany(x => x.MoviesActorsPivot)
映射它,我将如何设置插入和获取数据,如来自演员或所有演员的电影,获取所有角色名称?
答案 0 :(得分: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; }
}
这将是标准HasMany
和References
映射。后来的查理会更容易
同时检查以下内容: