структура сущности 3.5 и отображение результатов хранимой процедуры - PullRequest
4 голосов
/ 16 февраля 2011

Использование EF3.5 с Visual Studio 2010 (на данный момент невозможно обновить до EF4 - не спрашивайте!).

Желание создать хранимую процедуру, которая объединяет некоторые поля из некоторых связанных таблиц и материализуетрезультат хранимой процедуры как пользовательский «объект».Этот пользовательский объект будет «только для чтения».Я настроил пользовательский объект, хранимую процедуру и импорт функций.Когда я строю свой проект Entity, я получаю следующее:

Ошибка 35 Ошибка 3027:
Не указано сопоставление для следующих EntitySet / AssociationSet - MyCustomEntitySet

ItПохоже, что он хочет, чтобы отображение таблицы было определено для моей настраиваемой сущности, однако в этом случае у меня его не будет, поскольку оно объединяет данные по нескольким таблицам (и отфильтровывает некоторые ненужные данные).

Возможно лисопоставить пользовательский объект с хранимой процедурой?Можно ли сделать это таким образом, чтобы функциональность «Обновление модели из базы данных» не нарушала пользовательский объект или отображение импорта сохраненных процедур / функций?

TIA!

1 Ответ

3 голосов
/ 16 февраля 2011

Мы привыкли обходить это, создавая представление в БД - представление фактически никогда не используется, если вы отображаете хранимые процедуры, но оно позволяет автоматически создавать правильные отображения в сущности.

Обычно для довольно простых процедур вы можете скопировать / вставить sql, чтобы тоже сгенерировать представление - экономит некоторое время.

...