实体框架4.1 - 非关键列之间的关系

Tom*_*day 13 .net vb.net vb.net-2010 entity-framework-4.1

我有2个相关的实体,但遗留的sql架构基本上有2个关键列用于同一个表(不是2列密钥:见下文).我需要创建一个回到'faux key'列的关系.有没有办法在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
Run Code Online (Sandbox Code Playgroud)

而我得到的错误是:

*在模型生成期间检测到一个或多个验证错误:System.Data.Edm.EdmAssociationConstraint ::参照约束的从属角色中的所有属性的类型必须与主体角色中的相应属性类型相同.实体"ClientLocation"上的属性"ClientCode"的类型与引用约束"ClientLocation_Client"中实体"Client"上的属性"ClientID"的类型不匹配.*

因为它认为我正在尝试映射ClientLocation.ClientCode> Client.ClientID,当我真的试图映射ClientLocation.ClientCode> Client.ClientCode时 ......

有什么想法吗?

谢谢!

Lad*_*nka 3

实体框架要求在主表中的整个主键和从属表中的相应列(外键)之间建立关系。