2010-08-03 21 views
6

Czy jest możliwe utworzenie prostej konwencji modyfikującej tryb polimorfizmu klasy, jeśli istnieje połączona podklasa?płynna konwencja nhibernate: ustawianie trybu polimorfizmu

ten sposób:

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

ale wewnątrz konwencji. Korzystanie IClassConvention nie działa, jako własność Polimorfizm jest tylko do odczytu:

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

Odpowiedz

2

Spróbuj

instance.Polymorphism.Explicit(); 
+0

Nie działa na FluentNhibernate 1.2.0.712 – mathieu

+0

wierzę, to zależy od sposobu mapowania datamodel. Polimorfizm AFAIK nie działa z 'ClassMap ' (join-subclass). – Siewers