我试图实现表每层次继承与我的一些数据库表,例如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
是concrete,并且包含OwnerCategory
属性时:
错误3032:Map从第178行开始的片段时出现问题:Map了条件成员“addresses.OwnerCategory”,其条件不是“Islets =False”。删除addresses.OwnerCategory上的条件或将其从Map中删除。
当Address
为abstract且包含OwnerCategory
属性时:
Map从第178行开始的片段时出现问题:Map了条件成员“addresses.OwnerCategory”的条件不是“Islets =False”。删除addresses.OwnerCategory上的条件或将其从Map中删除。
当Address
是具体的,且不包含OwnerCategory
属性时:
“DtcInputer.Database.Address”不包含“OwnerCategory”的定义,并且找不到接受“DtcInputer.Database.Address”类型的第一个参数的扩展方法“OwnerCategory”(是否缺少using指令或程序集引用?)
和
从第177、195行开始Map片段时出现问题:Model.Address、Model.CodeAddress类型Map到表地址中的相同行。Map条件可用于区分这些类型Map到的行。
(我已经设置了条件(当OwnerCategory = 0时)
当Address
为abstract且不包含OwnerCategory
属性时:
“DtcInputer.Database.Address”不包含“OwnerCategory”的定义,并且找不到接受“DtcInputer.Database.Address”类型的第一个参数的扩展方法“OwnerCategory”(是否缺少using指令或程序集引用?)
任何帮助都是感激的,提前感谢。
2条答案
按热度按时间zxlwwiss1#
因为你在继承条件中使用了
OwnerCategory
,所以它不能被Map到属性。看起来你还应该把Address
设置为abstract。请确保从模型中删除该属性,并修改使用它的任何代码。你提到的非Map错误似乎是编译器找不到特定成员时的标准错误,所以一定要修复这些错误。b4lqfgs42#
对我来说,解决错误3032的方法是将
[NotMapped]
添加到我的xml0n1x属性中