小编dbn*_*n2k的帖子

流畅的NHibernate JoinedSubClass已经过时了

我不知道什么.我坐在这里有一个解决方案我有1个超类,有2个子类,我现在使用JoinedSubClass映射它,但我得知这个方法已经过时,并说我应该使用ClassMap和SubClassMap,但如果我这样做AutoMapping不起作用,我不希望这样.这有什么解决方法吗?

这是层次结构:

public class Tag : Entity
{

public virtual string Name {get;set;}
public virtual User User {get;set;}

}

public class RespondentTag : Tag
{
    public virtual IList<Respondent> Respondents {get;set;}
}


public class ArchiveTag : Tag
{
    public virtual IList<Survey> Surveys {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

正如您可能想到的那样,我希望这是一个每个层次结构的表 - 映射与子类的列表是多对多.就像表'Tag',然后是Tag_Respondent和Tag_Archive(用于多对多关系).

这是我目前正在使用的映射:

public class TagMap : IAutoMappingOverride<Tag>
{
  public void Override(AutoMapping<Tag> mapping)
  { 
     //This is obsolete
     mapping.JoinedSubClass("RespondentTagId", RespondentTagMap.AsJoinedSubClass());
     mapping.JoinedSubClass("ArchiveTagId", ArchiveTagMap.AsJoinedSubClass());

  }
}

public class RespondentTagMap
{
    public static Action<JoinedSubClassPart<RespondentTag>> AsJoinedSubClass()
    {
     return part =>

        part.HasManyToMany(x …
Run Code Online (Sandbox Code Playgroud)

.net nhibernate fluent-nhibernate automapping joined-subclass

10
推荐指数
1
解决办法
724
查看次数