2010-08-19 53 views
1

我見過類似的問題,但答案還沒有幫助我。我在我的系統中建模TPH(順便進行POCO),在Treeview中顯示數據(加載和顯示超類的某種集合)。現在我需要根據每個對象的類型來做各種事情(比如UI風格,bizrules等)。由於多種原因,對象類型的比較是不充分的(我現在不會進入)。 我真正需要的僅僅是鑑別器作爲屬性的簡單表示。它可以是隻讀的(實際上,由於顯而易見的原因,它應該是應該是)。 我得到的EF不想讓你(有效)混亂的對象的類型,但真的嗎? 有什麼想法?實體框架4 TPH:爲什麼我不能得到鑑別器的值?

回答

1

你不能這樣做。但是由於鑑別器的值和類型是而且是同一個東西,所以你不明白爲什麼你說「由於幾個原因,比較對象的類型是不夠的(我現在不會進入)」。

+0

嗨克雷格。 db中的鑑別器值可以是「ORG」,但類型可以是Organization。那麼當然有代理人,所以有一個額外的類型。它的可能,是的,但似乎不適合函數式編程範例(我是新來的) 我舉一個例子。根據類型,我有一個樹形視圖,每個節點都有一個圖標。我需要將「Org」或「Emp」設置爲我的圖標屬性。就我而言,我將IEnumerable 投影到JSON結構(用於我的樹)。將圖標attrib設置爲鑑別器值將會很好。 – baldric 2010-08-19 15:48:03

+0

'var icon =節點是組織? orgIcon:empIcon;'應該這樣做。 – 2010-08-19 16:04:05

+1

這隻在您有少量兒童類型時纔有用。我有一個具有6種繼承類型的抽象父類...我想獲取集合中所有項目的dicriminator的值。 – BlueChippy 2011-10-26 06:06:13