Enity Framework для существующей корпоративной базы данных - PullRequest
1 голос
/ 06 июня 2011

Я работаю над созданием сервисного уровня для большой базы данных sql server (2008 R2), которая в настоящее время является бэкэндом для POS-приложения winforms со строго типизированными наборами данных.и на первый взгляд казалось, что EF 4 - хороший выбор, но теперь у меня есть сомнения.Вот что я нашел:

  1. Отображение хранимых процедур не так уж велико.У меня есть сотни сохраненных процедур, которые я хочу использовать повторно.Большинство из них не будет возвращать «сущность», поэтому хранимые процессы должны быть сопоставлены со сложным типом.Многие из проков используют динамические таблицы sql или temp, поэтому EF не может определить, какой сложный тип создать.Многие из процедур возвращают несколько наборов результатов.Я читал, что у расширений EF есть способ отобразить хранимые процессы с несколькими наборами результатов, но только для сущностей, так что это мне не поможет.
  2. Большие модели - проблема.Кажется, не существует хорошего способа обработки больших моделей сущностей.Обходной путь создания меньших моделей нежелателен, а разделение модели теряет поддержку проектирования. Я что-то упускаю?
  3. Отображения EF только зашли так далеко.Хранимые процедуры, которые я хочу использовать повторно, возвращают проекции или информацию из многих таблиц в набор результатов.Кажется, нет способа отобразить эти результаты в сущности, я не прав?Я читал о комбинировании результатов из 2 таблиц в 1 сущность, но это работает, только если таблицы имеют одинаковый первичный ключ.

Используют ли люди EF в существующих крупных базах данных?Если нет, то что бы вы порекомендовали?

1 Ответ

0 голосов
/ 06 июня 2011

Я использовал EF для крупномасштабных баз данных, но, как вы говорите, поддержка SP, которую вы получили, невелика. Это не является конкретным недостатком EF per se - ORM в целом работают по одному и тому же принципу и имеют одинаковое «ограничение».

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

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