假設我有一個表+類A
,另一個表+類AType
表示不同類型的A
,以及從A
繼承的表+類B
。在實體框架中合併類型表和表繼承
B
是某種類型的A
,但它太複雜了,無法在數據級別與其他類型的A
相匹配,並且需要在模式級別擁有它自己的表格 - 並且它是自己的類別。
B
仍然是一個類型的A
,所以我想在AType
創紀錄的代表B
,並申請在A
記錄,實際上是B
s到指向紀錄AType
的type
。我也希望能夠添加更多從A
繼承的表格+類,並且使它們的PK具有硬編碼。
現在,如果我直接使用SQL,我會爲A
的繼承者創造記錄,並將負值作爲他們的PK。這樣一來,在數據層面增加了新的AType
,它們具有肯定的PK,決不會與硬編碼的模式層次相沖突,作爲一個很好的獎勵,我可以很容易地判斷A
中的哪些記錄是硬類型,哪些是柔軟的類型 - 無需看AType
。
我是新來的實體框架,所以我不想在我嘗試傳統方式之前應用黑客風格的解決方案。那麼在Entity Framework中處理這個問題的約定是什麼?
如果你有3種不同的類型,你會怎麼做? – podiluska 2012-08-07 14:34:48
@podiluska:什麼是負數不是「A」記錄的PK - 它是AType記錄的'PK'(當然還有'A'記錄中的'type'字段)。所以,如果我有3種不同的硬性類型,我可以給他們PK'-1','-2'和'-3'。我擁有硬式PK的全部負面範圍 - 我可以擁有儘可能多的數量。 – 2012-08-07 14:40:29
類型表是否包含數據或元數據或兩者的混合? – 2012-08-08 10:47:57