2010-08-03 21 views
6

Có thể tạo quy ước đơn giản để sửa đổi chế độ đa hình của một lớp không, nếu có một lớp con tham gia?Quy ước nhibernate thông thạo: thiết lập chế độ đa hình

Việc làm này:

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

nhưng bên trong một quy ước. Sử dụng IClassConvention không hoạt động, là tài sản Polymorphism là chỉ đọc:

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

Trả lời

2

Hãy thử

instance.Polymorphism.Explicit(); 
+0

Không làm việc trên FluentNHibernate 1.2.0.712 – mathieu

+0

Tôi tin rằng nó phụ thuộc vào cách bạn ánh xạ DataModel của bạn. AFAIK đa hình không hoạt động với 'ClassMap ' (tham gia-subclass). – Siewers

Các vấn đề liên quan