我有 2 个相关的实体,但旧的 sql 模式本质上对同一个表有 2 个键列(不是 2 列键:见下文)。我需要创建与“假键”列的关系。有没有办法在 Entity Framework 4.1 中以声明方式执行此操作?
Public Class Client
Inherits ModelBase
<Key(), Required()>
Public Property ClientID As Decimal
<Required(), StringLength(50)>
Public Property ClientCode As String
........
Public Class ClientLocation
Inherits ModelBase
........
<Required(), StringLength(50)>
Public Property ClientCode As String
........
<ForeignKey("ClientCode")>
Public Overridable Property Client As Clients.Client
我得到的错误是:
*在模型生成过程中检测到一个或多个验证错误:System.Data.Edm.EdmAssociationConstraint: : 引用约束的从属角色中所有属性的类型必须与主体角色中的相应属性类型相同。实体“ClientLocation”上的属性“ClientCode”类型与引用约束“ClientLocation_Client”中实体“Client”上的属性“ClientID”类型不匹配。*
因为它认为我正在尝试映射ClientLocation.ClientCode > Client.ClientID,当我真正尝试映射ClientLocation.ClientCode > Client.ClientCode ...
有什么想法吗?
谢谢!