[英]Entity Framework Table per Hierarchy Inheritance
我正在嘗試使用我的一些數據庫表(例如Address
實現每個層次結構繼承的表。 我想從Address
派生3個類,這些類是EmployeeAddress
, CustomerAddress
, SupplierAddress
。
+-------------------+------------------------+
| Address |> EmployeeAddress |
+-------------------+------------------------+
| ID | .. |
| OwnerID | EmployeeID |
| OwnerCategory | (condition: where = 0) |
| Street_1 | .. |
| Street_2 | .. |
| City | .. |
| Province | .. |
| PostalCode | .. |
+-------------------+------------------------+
|> CustomerAddress |
+------------------------+
| .. |
| EmployeeID |
| (condition: where = 1) |
| .. |
| .. |
| .. |
| .. |
| .. |
+------------------------+
|> SupplierAddress |
+------------------------+
| .. |
| EmployeeID |
| (condition: where = 2) |
| .. |
| .. |
| .. |
| .. |
| .. |
+------------------------+
問題是我一直在犯錯誤......
當Address
是具體的 ,並包含OwnerCategory
屬性時:
錯誤3032:從第178行開始映射片段時出現問題:映射條件成員'addresses.OwnerCategory',條件不是'IsNull = False'。 刪除addresses.OwnerCategory上的條件或從映射中刪除它。
當Address
是abstract並包含OwnerCategory
屬性時:
從第178行開始映射片段的問題:映射了條件成員'addresses.OwnerCategory',其條件不是'IsNull = False'。 刪除addresses.OwnerCategory上的條件或從映射中刪除它。
當Address
是具體的 ,並且不包含OwnerCategory
屬性時:
'DtcInvoicer.Database.Address'不包含'OwnerCategory'的定義,並且沒有可以找到接受類型'DtcInvoicer.Database.Address'的第一個參數的擴展方法'OwnerCategory'(您是否缺少using指令或程序集引用?)
和
從第177,195行開始映射片段的問題:EntityTypes Model.Address,Model.EmployeeAddress被映射到表地址中的相同行。 映射條件可用於區分這些類型映射到的行。
(我已經設置了條件(當OwnerCategory = 0時)
當Address
是抽象的並且不包含OwnerCategory
屬性時:
'DtcInvoicer.Database.Address'不包含'OwnerCategory'的定義,並且沒有可以找到接受類型'DtcInvoicer.Database.Address'的第一個參數的擴展方法'OwnerCategory'(您是否缺少using指令或程序集引用?)
任何幫助表示贊賞,提前謝謝。
由於您在繼承的條件中使用OwnerCategory
,因此無法將其映射到屬性。 看起來你也應該將Address
設置為abstract。 確保從模型中刪除該屬性並修改使用它的任何代碼。 當編譯器找不到特定成員時,您提到的非映射錯誤似乎是標准錯誤,因此請務必修復這些錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.