2010-09-01 55 views
0

FNH映射中的新SetAttribute()是什麼?我需要設置子我鑑別值,因爲字符串是不優選 - old post如何使用FNH爲子類設置歧視列類型?

與NH 2.1.2.4000,FNH 1.1.0.689

public class BaseBuildingMap : ClassMap<BaseBuilding> 
{ 
    public BaseBuildingMap() 
    { 
     Id(x => x.Id); 
     DiscriminateSubClassesOnColumn<int>("BuildingType", -1); 
    } 
} 

public class PowerStationMap : SubclassMap<PowerStation> 
{ 
    public PowerStationMap() 
    { 
     Map(x => x.ElectricityProduction); 
    } 
} 

NHibernate.MappingException:無法格式鑑別價值的SQL字符串實體Model.Test.PowerStation ---> System.FormatException:輸入字符串格式不正確。

我需要設置SetAttribute("discriminator-value", "-1");但是沒有這樣的方法。

編輯1個

問題:如何設置區分列類型與FNH子類?

回答

2
public class PowerStationMap : SubclassMap<PowerStation> 
{ 
    public PowerStationMap() 
    { 
     DiscriminatorValue((int)1); 
     Map(x => x.ElectricityProduction); 
    } 
} 

我終於找到了我的答案,這是

SubclassMap<T>::DiscriminatorValue(object discriminatorValue); 
1

Fluent NHibernate 1.0 Release Notes

刪除的setAttribute - 的setAttribute是一個權宜之計,讓人們使用功能NHibernate時,我們不支持他們所需要的屬性。現在我們已經花了很長時間來支持流暢界面中的所有主要屬性,所以你不應該再需要這個了。如果有需要,我們已經錯過了任何屬性,讓我們知道(甚至更好,給我們一個拉請求/補丁)

+0

謝謝,但這沒有幫助...我改變了我的問題 – 2010-09-01 15:01:56

相關問題