Можете ли вы сделать наследование объектов в EF для объекта, который сопоставлен с хранимыми процедурами? - PullRequest
2 голосов
/ 27 сентября 2011

У меня есть вопрос о наследовании в Entity Framework 4. Мы используем подход, основанный на базе данных, и хотели бы реструктурировать нашу модель для использования наследования. Вот белая доска макета иерархии, которую мы хотели бы использовать в нашей модели.

Изображение 1

В случае, если эти каракули не очень читабельны, это примерно так.

ПОЛЬЗОВАТЕЛЬ <- ПРОВАЙДЕР <br> ПОЛЬЗОВАТЕЛЬ <- VENDOR <br> ПРОВАЙДЕР <- СОТРУДНИК </p>

Таким образом, USER - это базовый класс для поставщиков и поставщиков. И работник потом наследует от провайдера.

Я нашел пару отличных статей, описывающих Таблица-на-иерархию наследование и Таблица-на-тип наследование.

Они кажутся достаточно простыми, но оба способа требуют сопоставления сущности с таблицей или таблицами. Что если у вас есть объект, который полностью сопоставлен с хранимыми процедурами?

Изображение 2

Можно ли по-прежнему выполнять наследование в EF, даже если сущность сопоставлена ​​с хранимыми процедурами? Как это будет выглядеть? Какие хранимые процедуры нам понадобятся для этого?

Если это возможно, нам нужно просто указать в правильном направлении.

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

Я искал и искал и, наконец, пришел к выводу, что невозможно наследовать объекты, которые отображаются в хранимых процедурах.Поэтому, если кто-то не может доказать обратное, я отмечаю это как ответ.

0 голосов
/ 27 сентября 2011

Я использую архитектуру хранилища с хранимыми процедурами в моем проекте MVC.В этом мы не используем структуру сущностей, вместо этого мы используем Microsoft Enterprise Library .Мы используем методы из этого.По моему опыту, хранилище содержит только методы для манипулирования данными с использованием хранимых процедур.Таблицы сопоставлены с моделями.Существуют ViewModel, которые являются пользовательскими классами Model для обработки свойств, которые определены как пользовательские в проекте.Существует один сервисный слой для разделения контроллеров и хранилищ.Поэтому я думаю, что вы можете принять метод репозитория, полностью сопоставленный с хранимыми процедурами

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