2011-02-08 3 views
0

Comment la configuration de mappage suivante doit-elle être résolue?C# fluent nhibernate

public abstract class RepositoryEntity 
{ 
    public virtual int Id { get; set; } 
} 

public class Descriptor : RepositoryEntity 
{ 
    public virtual String Name { get; set; } 
    public virtual DateTime Timestamp { get; set; } 
} 

public class Proxy<TDescriptor> : RepositoryEntity 
{ 
    public virtual TDescriptor Descriptor { get; set; } 
    public virtual Byte[] SerializedValue { get; set; } 
}; 

public class TestUnit : Proxy<Descriptor> 
{ 

}; 

Je reçois des problèmes lors du test de la cartographie TestUnit - il dit qu'il est impossible de cartographier l'élément avec des paramètres génériques. Cela se produit si je tente de mapper toutes les classes de l'avant spécifié.

Si je tente de tout mapper, sauf Proxy<T>, alors je reçois qu'il y a no persister for the 'TestUnit'.

Si j'arrête d'hériter TestUnit de Proxy<Descriptor>, le test de mappage fonctionne bien.


Est-ce que Fluent NHibernate ont la possibilité de Automap types hérités de certains modèle Class<T> concret? Pourriez-vous m'aider à cartographier ces entités?

Répondre

0

J'ai utilisé une combinaison de mappages Fluent et Auto.

Des applications fluides doivent être utilisées pour les génériques.

 Configuration = Fluently.Configure() 
      .Database(SQLiteConfiguration.Standard.ShowSql().InMemory) 
      .Mappings(x => 
         { 
          x.FluentMappings.AddFromAssemblyOf<RepositoryEntity>(); 
          x.AutoMappings.Add(autoPersistenceModel); 
         });