我正在做一些項目,我遇到了一些問題,我不知道它是否可以解決。 所以我的問題是這樣的:映射父親時生成子對象枚舉(流利Nhibernate)
我有4個班在我的項目:
public abstract class ABaseDynamicLayer
{
public virtual int LayerID { get; set; }
public virtual string URIPath { get; set; }
}
public class RasterDynamicLayer : ABaseDynamicLayer
{
}
public class TerrainDynamicLayer : ABaseDynamicLayer
{
}
public class VectorDynamicLayer : ABaseDynamicLayer
{
}
現在我的數據庫看起來像這樣:
T_DYNAMIC_LAYERS
ID | URIPath | TYPE |
---------------------------
1 | c:\map1.mp | 1 |
2 | c:\map2.mp | 3 |
3 | c:\map5.mp | 2 |
T_TYPES
ID | DESCRIPTION |
---------------------
1 | Raster |
2 | Terrain |
3 | Vector |
現在我的目標是將T_DYNAMIC_LAYERS映射到我的項目中,而我這樣做時,我不想保存圖層的類型,而是想從我的班級列表中創建適配對象,因爲它們的類型在T_DYNAMIC_LAYERS中提到。
例如:
比方說,我們是在映射T_DYNAMIC_LAYERS第一排的進步。 1)我們將ID列映射到ID屬性。 2)我們將URIPath列映射到URIPath到URIPath屬性。
這很簡單,但所需的結果是,我想從第一行開始獲取RasterDynamicLayer的對象,因爲行中的類型爲1(1等於RasterDynamicLayer)。
可以這樣做嗎? 如果可以做到,我該怎麼做?
謝謝你的幫助!
這是什麼幫助? http://www.philliphaydon.com/2011/08/fluent-nhibernate-table-inheritance-discriminators/ –