Mi chiedo qualcosa. Sono seduto qui con una soluzione lì ho 1 superclasse che ha 2 sottoclassi e attualmente sto mappando questo usando JoinedSubClass, ma ottengo che questo metodo è obsoleto e dice che dovrei ClassMap e SubClassMap, ma se lo faccio l'AutoMapping non funziona e non lo voglio. C'è qualche soluzione alternativa per questo?Fluent NHibernate JoinedSubClass obsoleto
Ecco la gerarchia:
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;}
}
Come probabilmente capito io voglio che questo sia un tavolo per ogni gerarchia di mappatura con sottoclassi con le liste che sono molti-a-molti. Come una tabella "Tag", quindi Tag_Respondent e Tag_Archive (per la relazione many-to-many).
Ecco la mappatura che sono attualmente in uso:
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");
}
}
Qualcuno sa su una soluzione o un'altra soluzione per risolvere questo? (Senza disattivare la creazione automatica)
Qualsiasi risposta sarà apprezzata.
Grazie in anticipo!
Hai mai funzionato? Sto incontrando problemi simili cercando di ottenere una tabella mista per sottoclasse e una gerarchia table-per-class funzionante. – rbellamy
hai ancora questo problema? Quale versione di FNH hai usato? – Firo