Как определить, какое имя RIA Services / EF Model использует для ассоциаций? - PullRequest
0 голосов
/ 23 февраля 2010

Я работаю над приложением RIA Services на C # .NET 3.5 и у меня возникла проблема с моей моделью Entity Framework.

Моя сущность Foo сопоставлена ​​с таблицей БД и имеет первичный ключ с именем FooId. Мой бар сопоставлен с представлением БД. Я выборочно спроектировал это представление для генерации составного ключа в EF с использованием двух столбцов (убедившись, что они не обнуляются, а все остальные обнуляются. Это было сделано с использованием NULLIF и ISNULL в дизайне представления.) 1003 *

Я могу добавить это представление в модель без проблем, но продолжаю сталкиваться с проблемой, когда пытаюсь сопоставить связь между ними. Foo должен содержать много баров, но я продолжаю получать следующую ошибку при добавлении ассоциации:

Невозможно получить AssociationType для ассоциация 'FK_Bar_Foo'

Согласно этой странице , похоже, что это могло бы работать, если бы я мог правильно назвать ассоциацию (поскольку RIA Services ищет конкретные имена.) Я пробовал несколько вариантов имен, которые соответствуют шаблону другие ассоциации безуспешны. Кто-нибудь знает, есть ли место, где я могу посмотреть, какое имя оно ищет?

Спасибо

1 Ответ

0 голосов
/ 25 февраля 2010

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

Решение, которое я наконец выбрал, состояло в том, чтобы перепроектировать клиент для самостоятельного вызова службы и запроса коллекции сущностей, передав первичный ключ (FooId) моего типа Foo. Это не лучший подход (и требует гораздо больше ручного кодирования), но он делает свою работу. Я надеюсь, что Entity Framework версии 4 устраняет это ограничение.

...