У меня есть 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:: Типы всех свойства в зависимой роли реляционного ограничения должны быть то же, что и соответствующие типы свойств в основной роли. Тип свойства ClientCode в сущности ClientLocation не сопоставить тип свойства "ClientID" сущности "Client" в ссылочное ограничение 'ClientLocation_Client'. *
Потому что он думает, что я пытаюсь сопоставить ClientLocation.ClientCode> Client.ClientID , когда я действительно пытаюсь сопоставить ClientLocation.ClientCode> Client.ClientCode ...
Есть мысли?
Спасибо!