Быстрый 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;}
}

Когда Вы, вероятно, выяснили, я хочу, чтобы это было таблицей на отображение иерархии с подклассами со списками, которые являются Many-Many. Как таблица 'Tag', затем Tag_Respondent и Tag_Archive (для many-many отношений).

Вот отображение, которое я в настоящее время использую:

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 => x.RespondentList)
           .Cascade
           .SaveUpdate()
           .Inverse()
           .Table("Tag_Respondent");

    }
}


public class ArchiveTagMap
{
    public static Action<JoinedSubClassPart<ArchiveTag>> AsJoinedSubClass()
    {
     return part =>

        part.HasManyToMany(x => x.Surveys)
           .Cascade
           .SaveUpdate()
           .Inverse()
           .Table("Tag_Archive");

    }
}

Кто-либо знает об обходном решении или другом решении для решения этого? (Не отключая автоотображающийся)

Любые ответы будут цениться.

Заранее спасибо!

10
задан dbn2k 23 July 2010 в 08:04
поделиться