Как можно создать ассоциацию, не используя все ключи сущностей в платформе сущностей? - PullRequest
1 голос
/ 03 июня 2009

Я все больше и больше разочаровываюсь в 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 ключ для другой и фактический первичный ключ не будет использоваться ни в одной ассоциации.

Похоже, вы не можете определить связь между полями, которые не являются ключами сущностей.

Так есть ли способ сделать это? Я что-то упустил?

1 Ответ

0 голосов
/ 04 июня 2009

Это v1, братан. У меня самого были некоторые серьезные проблемы с отображением ключевых ограничений в EF. Я слышал, что лучшие вещи идут в v2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...