Как разбить мою EF-модель?

#entity-framework #visual-studio-2010 #ado.net-entity-data-model

#entity-framework #visual-studio-2010 #ado.net-entity-data-model

Вопрос:

У нас есть приложение для базы данных, для которого мы начинаем писать несколько новых систем, и я хочу переделать наш DAL, потенциально используя EF4. Когда я начинаю смотреть на это, кажется, что просто использовать один EDMX-файл для всей моей базы данных — плохая идея. Когда я это сделал, вот скриншот того, как это выглядит (уменьшенный, насколько я могу уменьшить масштаб), чтобы дать вам некоторое представление.

Итак, кажется, что я должен разбить это на несколько файлов EDMX. С чего я могу начать изучать хорошую стратегию для этого?

Спасибо!

Комментарии:

1. вау, там есть одна сущность с, похоже, более чем 100 атрибутами. Я предполагаю, что вы следуете TPT, но мне интересно, использовали ли вы TPH, уменьшилось ли бы количество ваших таблиц. (что может быть невозможно, если вы не можете изменить модель данных)

Ответ №1:

На базовом уровне нечему учиться. Сведите ваши экраны и проблемы к разумному уровню сложности и используйте EDMX для каждого раздела или части вашего приложения.

На самом сложном уровне вам нужно будет понять все о том, как работают «пробелы» (C-Space, S-Space, O-Space ) и как создавать ObjectContexts с пользовательской конфигурацией.

Комментарии:

1. Я не понимаю, что вы имеете в виду под understand all about how the "spaces" work — что это значит? То, что вы сказали о разбиении вещей на управляемый уровень сложности, — это то, чего я ожидал, но это наводит на, казалось бы, очевидные вопросы: 1) Если у меня есть перекрытие между двумя разными EDMX (например, таблицей Person), с какими проблемами я столкнусь и как мне с ними справиться? 2) Лучший способ разбить это по релевантности предметной области или есть лучший способ сделать это?

2. Извините, мои первые несколько попыток Google не увенчались успехом из-за пробелов, но затем я наткнулся на это: blogs.msdn.com/alexj/archive/2009/04/03 /…

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