Ich wundere mich über etwas. Ich sitze hier mit einer Lösung dort habe ich 1 Superklasse, die 2 Unterklassen hat und ich bin dies derzeit mit JoinedSubClass zuordnen, aber ich bekomme, dass diese Methode veraltet ist, und sagt, dass ich ClassMap und SubClassMap sollte, aber wenn ich das tue das AutoMapping funktioniert nicht, und das möchte ich nicht. Gibt es einen Workaround dafür?Fluent NHibernate JoinedSubClass ist veraltet
Hier ist die Hierarchie:
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;}
}
Wie Sie wahrscheinlich herausgefunden ich diese eine Tabelle pro Hierarchie-Mapping mit den Unterklassen mit Listen sein wollen, die Many-to-many sind. Wie eine Tabelle 'Tag', dann Tag_Respondent und Tag_Archive (für Viele-zu-Viele-Beziehung).
Hier ist die Abbildung, die ich zur Zeit mit:
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");
}
}
Kennt jemand über dieses Problem zu umgehen oder eine andere Lösung dieses für die Lösung? (Ohne das automatische Zuweisen zu deaktivieren)
Alle Antworten werden geschätzt.
Vielen Dank im Voraus!
Haben Sie das jemals funktioniert? Ich stehe auf ähnliche Probleme, die versuchen, eine gemischte Tabelle-pro-Unterklasse und Tabelle-pro-Klasse-Hierarchie zu arbeiten. – rbellamy
haben Sie immer noch dieses Problem? Welche Version von FNH hast du benutzt? – Firo