Несколько / одиночные * .edmx файлы на базу данных - PullRequest
6 голосов
/ 23 февраля 2011

У меня есть проект, который взаимодействует с базой данных через ADO.net Data Services.База данных большая ( почти 150 таблиц с зависимостями ).Проект начался несколько лет назад, и тогда использовались DataSets;Теперь мы движемся к отношениям модели сущностей.Модель растет, так как мы добавляем больше таблиц, с которыми нам нужно работать.Это правильный способ управлять всем этим?Что означает, что у меня должен быть файл модели базы данных SINGLE , чтобы иметь один контекст данных?

Каковы недостатки и как вы используете структуру сущностей с большими базами данных (или не следует использовать с большимииз них?

Недостатки, которые я вижу:

  • Visual Studio 2010 начинает зависать при открытии этого большого XML-файла в конструкторе ( может быть, это НЕ проблема, потому что дажево многих таблицах он не останавливается в течение долгого времени ).
  • Становится трудно найти ссылки в модели (, хотя F4 + список свойств окна свойств списка объектовпочти устраняет эту проблему, связанную с поиском ).

PS, странно, что никто не отвечает. Вопрос кажется важным, и простыми словами я просто перефразирую его: что лучше, одна модельцелая, большая база данных или несколько моделей этой базы данных?

1 Ответ

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

Я подозреваю, что вы не получаете много ответов, потому что это не большая проблема. Даже в обоих ваших недостатках вы говорите, что они на самом деле не проблемы. Конечно, EDM отлично работает с большими базами данных. Я бы сказал, что чем больше база данных, тем больше потребность в решении ORM.

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

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

...