J'essaie de mapper une interface et une classe concrète avec fluentnhibernate.Mappage d'une interface et d'une classe concrète avec FluentNHibernate
voici mon interface/classe:
public interface IUser
{
int Id { get; set; }
}
public class User: IUser
{
public int Id { get; set; }
public string Name { get; set; }
public string Password { get; set; }
}
voici mes fichiers de mappage:
public class IUserMap: ClassMap
{
public IUserMap()
{
Table("User");
Id(u => u.Id)
.Column("Id")
.GeneratedBy.Native();
}
}
public class UserMap: SubclassMap
{
public UserMap()
{
Map(u => u.Name);
Map(u => u.Password);
}
}
et je reçois cette erreur:
could not execute query [ SELECT this_.Object_id as Id3_0_, this_.Name as Name4_0_, this_.Password as Password4_0_ FROM "User" this_ inner join User this_1_ on this_.Object_id=this_1_.Id WHERE this_.Name = @p0 ] Positional parameters: #0>test [SQL: SELECT this_.Object_id as Id3_0_, this_.Name as Name4_0_, this_.Password as Password4_0_ FROM "User" this_ inner join User this_1_ on this_.Object_id=this_1_.Id WHERE this_.Name = @p0]
...
avis la colonne "this_.Object_id" c'est l ooking for ... ce n'est pas ma colonne ID, mais je ne peux pas spécifier un Id ("my_id_column"); dans la sous-classeCarte
Qu'est-ce que je fais mal?
en ajoutant KeyColumn ("Id") à mon enfant SubclassMap travaillé. Je vais aussi ouvrir un ticket pour le problème object_id. merci, james! –