Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在NHibernate上的多对多关系上添加自定义列_Asp.net_Database_Nhibernate_Fluent Nhibernate_Mapping - Fatal编程技术网

Asp.net 在NHibernate上的多对多关系上添加自定义列

Asp.net 在NHibernate上的多对多关系上添加自定义列,asp.net,database,nhibernate,fluent-nhibernate,mapping,Asp.net,Database,Nhibernate,Fluent Nhibernate,Mapping,我有一个电影实体和一个演员实体,这两个实体有一个多对多关系,所以我把它映射为ManyToMany(x=>x.Movies)和ManyToMany(x=>x.Actors)但是我想让演员在电影中扮演的角色,它应该作为一个新的专栏留在moviescoctorspivot上 但是,我如何使用Fluent Nhibernate映射,以一种我可以像Nhibernate一样轻松获取和保存数据的方式来实现这一点呢 不手动创建透视表,使两侧都有许多(x=>x.moviescoctorspivot),并由我自己管

我有一个电影实体和一个演员实体,这两个实体有一个多对多关系,所以我把它映射为
ManyToMany(x=>x.Movies)
ManyToMany(x=>x.Actors)
但是我想让演员在电影中扮演的角色,它应该作为一个新的专栏留在
moviescoctorspivot

但是,我如何使用Fluent Nhibernate映射,以一种我可以像Nhibernate一样轻松获取和保存数据的方式来实现这一点呢

不手动创建透视表,使
两侧都有许多(x=>x.moviescoctorspivot)
,并由我自己管理关联

编辑:

或者,如果我将其映射为在两侧创建
HasMany(x=>x.MoviesActorsPivot)
,我将如何插入和获取所有数据,就像演员或电影中所有演员的所有电影一样,获取所有角色名称?

答案是:

NHibernate native
多对多
映射不支持配对表上的任何其他设置

但是,它可以被作为一级公民的配对对象所取代

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; }    
}
公共级电影演员
{
公共虚拟电影{get;set;}
公共虚拟参与者{get;set;}
…//这里有更多的属性
公共虚拟整数评级{get;set;}
}
公共级演员
{
公共虚拟IList电影{get;set;}
}
公映
{
公共虚拟IList参与者{get;set;}
}
这将是标准的
有许多
引用
映射。以后的询问会更容易

同时检查以下各项: