我使用FluentNHibernate和AutoMapping來映射持久化類。 對於幾乎所有的我的類層次結構,每個子類映射的默認Table工作正常,除了一個:這裏我有一個抽象基類「A」,A具有所有需要的數據字段。子類「B」,「C」,...「X」僅在行爲上有所不同。 「每個類的表」會導致很多不需要的表。
我想要創建一個覆蓋類來創建一個表A(我可以用IncludeBaseClass覆蓋來做到這一點,但是我該如何設置Discriminator Override類來將所有的子類放在這個表中? 流利的文件提出以下建議:如何獲得單個類層次結構的單個表繼承
public override bool IsDiscriminated(Type type)
{
return type.In(typeof(ClassOne), typeof(ClassTwo));
}
我thinik這將boildown這對於我的情況:?
public override bool IsDiscriminated(Type type)
{
return (type == typeof(A));
}
但是這將是覆蓋類來把這個方法
我如何確保在(自動)映射過程中使用類? –
我創造了這個示例類: \t'公共類TablePerHierarchyOverride:FluentNHibernate.Automapping.DefaultAutomappingConfiguration \t { \t \t公共覆蓋布爾IsDiscriminated(類型類型) \t \t { \t \t \t回報(類型== typeof運算(代碼)|| type == typeof(GenderCode)); \t \t} \t}' –
最簡單的方法是在你的函數裏面設置一個斷點... –