J'utilise Fluent (1.1.0) NHibernate (2.1.2) et j'ai une (sous) sous-classe avec une référence plusieurs-à-plusieurs à une autre classe:Fluent Nhibernate, Sous-classe, ManyToMany. Une association de la table fait référence à une classe non mappée
(Sub) Sous classe - < Tableau Cross> - Autres classe
ou
FloorplanObject (classe de base)
Géométrie (sous-classe)
stand (SubSubclass) - - < ExhibitorStand> - exposant
Classe de base:
public class FloorplanObject
{
public int Id { get; set; }
public string Name { get; set; }
}
Mapping classe de base:
class FloorplanObjectMap : ClassMap<FloorplanObject>
{
public FloorplanObjectMap()
{
Id(x => x.Id);
Map(x => x.Name);
}
}
Sous Classe:
public class Geometry : FloorplanObject
{
public virtual List<float> Positions { get; set; }
public Geometry()
{
Positions = new List<float>();
}
}
Sous classe Mapping:
public class GeometryMap : SubclassMap<Geometry>
{
public GeometryMap()
{
Map(x => x.Positions);
}
}
(Sub) Sous Classe:
public class Stand : Geometry
{
public virtual string StandNumber { get; set; }
public virtual List<Exhibitor> HasExhibitors { get; set; }
public Stand()
{
HasExhibitors = new List<Exhibitor>();
}
}
(Sub) Sous classe Mapping:
public class StandMap : SubclassMap<Stand>
{
public StandMap()
{
Map(x => x.StandNumber);
HasManyToMany(x => x.HasExhibitors)
.Cascade.All()
.Inverse()
.Table("ExhibitorStand");
}
}
Autre Classe:
public class Exhibitor
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual List<Stand> OnStands { get; set; }
public Exhibitor()
{
OnStands = new List<Stand>();
}
}
Autre Mapping Classe:
public class ExhibitorMap : ClassMap<Exhibitor>
{
public ExhibitorMap()
{
Id(x => x.Id);
Map(x => x.Name);
HasManyToMany(x => x.OnStands)
.Cascade.All()
.Table("ExhibitorStand");
}
}
Sur l'initialisation d'un ISession avec les applications ci-dessus, je reçois l'erreur suivante:
NHibernate.MappingException: An association from the table ExhibitorStand refers to an unmapped class: Stand
Quelqu'un at-il une idée de ce que je fais mal ici?
Et c'est exactement le même problème que j'ai rencontré! – nvuono
Et moi, pas une perte de temps du tout ... m'a probablement sauvé des heures! –