Подтвердить что ты не робот

Entity Framework 4 - Обработка очень больших (1000+ таблиц) моделей данных?

У нас есть база данных с более чем 1000 + таблицами и хотелось бы использовать EF4 для нашего уровня доступа к данным, но меня беспокоят практические реалии использования его для такой большой модели данных. Я видел этот вопрос и читал о предлагаемых решениях здесь и здесь. Они могут работать, но, похоже, относятся к первой версии Entity Framework (и более сложны, чем хотелось бы). Кто-нибудь знает, были ли улучшены эти решения в EF4? Или у вас есть другие предложения? Спасибо.

ОБНОВЛЕНИЕ: После ряда попыток сделать работу EF я решил отказаться от всего этого для этого проекта. Большей поддержки модели данных просто нет, и, хотя могут быть проблемы (например, редактирование и поддержка xml независимо от дизайнера), они просто не чувствуют себя готовыми к прайм-тайм. Наиболее проблематичным для меня является тот факт, что EF плохо работает с моделью домена, распространяемой по нескольким XML файлам без большой избыточности и дублирования кода. Я все еще открыт для предложений (я знаю, что я не очистил все слои EF лука), но пока я двигаюсь без EF.

UPDATE # 2: похоже, что первая поддержка ожидающего кода (в настоящее время в EF4 CTP4), скорее всего, станет решением, которое мы так как это требует от дизайнера и большого обслуживания XML файлов.

4b9b3361

Ответ 1

Число, которое я слышал в Microsoft screencast, составляет не более 250 таблиц на EF-модель. Это не значит, что EF не может справиться больше - может быть разумно разбить ваши 1000+ таблиц на несколько логических групп таблиц и использовать одну EF-модель для такой логической группы (в ней может быть до 250 таблиц).

Я очень сомневаюсь, что у вас появятся запросы, которым нужно будет использовать все 1000 таблиц сразу - скорее всего, даже не сразу 10. Таким образом, вы определенно сможете разделить свою довольно большую модель на более мелкие кластеры и превратить их в отдельную EF-модель.

Ответ 2

Вы должны определенно взглянуть на LLBLGen Pro v3. Хотя LLBLGen - это еще один инструмент O/RM, так же как EF - инструмент O/RM, последняя версия содержит конструктор, который позволяет создавать модели для LINQ to SQL, NHibernate и AND Entity Framework (как 1.0, так и 4.0). Его разработчик довольно прост и имеет лучшую поддержку для больших моделей домена.

Ответ 3

Я уверен, что не все 1000+ таблиц связаны. Разбейте его на логические части.