У меня есть два объекта, которые связаны друг с другом, но унаследованная схема 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
И ошибка, которую я получаю, это:
* Во время генерации модели была обнаружена одна или несколько ошибок проверки: System.Data.Edm.EdmAssociationConstraint:: Типы всех свойства в зависимой роли ссылочного ограничения должны быть так же, как соответствующие типы свойств в главной роли. Тип свойства "ClientCode" для объекта "ClientLocation" не является соответствует типу свойства "ClientID" на объекте "Клиент" в референтное ограничение "ClientLocation_Client". *
Потому что он думает, что я пытаюсь сопоставить ClientLocation.ClientCode > Client.ClientID, когда я действительно пытаюсь сопоставить ClientLocation.ClientCode > Client.ClientCode..
Любые мысли?
Спасибо!