Интересно о чем-то. Я сижу здесь с решением там, у меня есть 1 суперкласс, у которого есть 2 подкласса, и я в настоящее время сопоставляю это с помощью SessionSubClass, но я понимаю, что этот метод устарел и говорит, что мне нужно ClassMap и SubClassMap, но если я это сделаю AutoMapping не работает, и я не хочу этого. Есть ли обходной путь для этого?Fluent NHibernate ЗарегистрированSubClass устарел
Вот иерархия:
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;}
}
Как вы наверное поняли, что я хочу, чтобы это таблица в иерархии картирования с подклассов со списками, которые многие-ко-многим. Подобно таблице «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 => 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");
}
}
Кто-нибудь знает о обходном или другом решении для решения этого? (Без выключения автомата)
Любые ответы будут оценены.
Заранее благодарен!
Вы когда-нибудь получали эту работу? Я сталкиваюсь с аналогичными проблемами, пытаясь получить смешанную таблицу за подкласс и таблицу-на-класс-иерархию. – rbellamy
У вас все еще есть эта проблема? Какую версию FNH вы использовали? – Firo