2010-08-03 11 views
6

¿Es posible crear una convención simple para modificar el modo de polimorfismo de una clase, si hay una subclase unida?convención fluida de nhibernate: establecer el modo de polimorfismo

Hacer esto:

public class EntityMap : ClassMap<EntityBase> 
{ 
    public EntityMap() 
    { 
     Polymorphism.Explicit(); 
    } 
} 

pero dentro de una convención. Usando IClassConvention no funciona, ya que la propiedad es de sólo lectura Polimorfismo:

public class TestConvention : IClassConvention 
{ 
    public void Apply(IClassInstance instance) 
    { 
     // read only property ! 
     instance.Polymorphism = Polymorphism.Explicit; 
    } 
} 

Respuesta

2

Trate

instance.Polymorphism.Explicit(); 
+0

que no trabaja en FluentNHibernate 1.2.0.712 – mathieu

+0

Creo que depende de cómo se asigna el modelo de datos. El polimorfismo AFAIK no funciona con 'ClassMap ' (joined-subclass). – Siewers

Cuestiones relacionadas