Я все больше и больше разочаровываюсь в EF ...
У меня есть таблица ExtendedField с:
Запись
DocRef
DocType
Имя
Запись является первичным ключом
DocRef и DocType - это внешние ключи, используемые для определения того, к какому билету они принадлежат.
Имя - это ключ, используемый таблицей «Definition» для определения того, что поле на самом деле является
Так что в основном мне нужно 2 ассоциации:
Один между Ticket и ExtendedField
on ExtendedField.DocRef = ticket.record
а также
ExtendedField.docType = HeaderDocType
Один из определений на
ExtendedField.Name = Definition.FieldName
Тогда мне все еще нужно, чтобы Запись была первичным ключом, чтобы я мог получить прямой доступ к полям.
Насколько я могу судить, это невозможно сделать в Entity Framework. Для каждой ассоциации все ключи должны быть сопоставлены, тогда как мне нужны два ключа для одной ассоциации, 1 ключ для другой и фактический первичный ключ не будет использоваться ни в одной ассоциации.
Похоже, вы не можете определить связь между полями, которые не являются ключами сущностей.
Так есть ли способ сделать это? Я что-то упустил?