Ich bin mir nicht sicher, ob dies ein Problem mit meiner Fluent-Konfiguration oder Logik in meinem Denken ist.Fluent nHibernate und JoinSubClasses
Grundsätzlich habe ich eine Person-Klasse, von der ich zwei Klassen geerbt habe, Autor und Kreditnehmer (es ist ein Bibliothekssystem). Die Zuordnung, die ich habe, ist.
public class PersonMap : ClassMap<Person>
{
public PersonMap()
{
Id(x => x.Id, "id");
Map(x => x.Name, "name");
// Subclasses
AddPart(new AuthorMap());
AddPart(new BorrowerMap());
}
}
public class AuthorMap : JoinedSubClassPart<Author>
{
public AuthorMap() : base("person_id")
{
Map(x => x.Country, "country");
HasMany(x => x.Books).Cascade.All().WithKeyColumn("book_id");
}
}
public class BorrowerMap : JoinedSubClassPart<Borrower>
{
public BorrowerMap() : base("person_id")
{
Map(x => x.UserName, "user_name");
HasMany(x => x.Schedule).Cascade.SaveUpdate().WithKeyColumn("borrower_id");
}
}
Nun, wenn ich die HQL „FROM Autor eine ORDER BY a.Name“ laufen wird eine Liste aller Autor und Borrower Einheiten zurück, wo ich natürlich wollen einfach nur eine Liste der Autoren verfügbar. Bitte zögern Sie nicht, mich darauf anzusprechen.