Saa*_*an. 6 c# wpf entity-framework
我试图用我的一些数据库表实现每个层次结构继承的表,例如Address.我想获得3班从Address,这些都是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) |
| .. |
| .. |
| .. |
| .. |
| .. |
+------------------------+
Run Code Online (Sandbox Code Playgroud)
问题是我一直在犯错误......
如果Address是具体的,并包含OwnerCategory属性:
错误3032:从第178行开始映射片段时出现问题:映射条件成员'addresses.OwnerCategory',条件不是'IsNull = False'.删除addresses.OwnerCategory上的条件或从映射中删除它.
什么时候Address是抽象的并且包含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指令或程序集引用?)
任何帮助表示赞赏,提前谢谢.
小智 8
由于您OwnerCategory在继承的条件下使用它,因此无法映射到属性.看起来你也应该Address设置为抽象.确保从模型中删除该属性并修改使用它的任何代码.当编译器找不到特定成员时,您提到的非映射错误似乎是标准错误,因此请务必修复这些错误.