Je ne suis pas sûr si c'est un problème avec ma configuration Fluent ou une logique dans ma pensée.Fluent nHibernate et JoinSubClasses
Fondamentalement, j'ai une classe Person à partir de laquelle j'ai deux classes héritées, Auteur et Emprunteur (c'est un système de bibliothèque). La cartographie que j'ai est.
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");
}
}
Maintenant, si je lance le HQL « de l'auteur d'une ORDER BY a.Name » il renvoie une liste de toutes les entités de l'auteur et de l'emprunteur où je veux juste évidemment une liste d'auteurs. S'il vous plaît, n'hésitez pas à me mettre directement sur ce sujet.