Является ли Entity Framework хорошей базой данных? - PullRequest
8 голосов
/ 09 февраля 2011

Я использовал Entity Framework с базой данных, имеющей около 50 таблиц, и она работала просто отлично.

Но просто чтобы посмотреть, что происходит с более крупной базой данных с точки зрения количества таблиц / сущностей, я попытался реализовать EntityКаркас для базы данных, которая имела около 100+ таблиц.Как только я выбрал все таблицы и нажал кнопку «Готово» в Entity Framework Wizard, он просто повесил мой VS 2010, поэтому я не смог получить никаких результатов.

Мои вопросы такие же, как ниже;

1.Если у меня база данных большего размера с точки зрения таблиц / объектов, как описано выше, то будет ли хорошей идеей использовать Entity Framework?

2. Что будет лучшим подходом для использования Entity Framework для работы с базой данных?

3. Должен ли я создавать несколько файлов DataContext или EDMX с меньшими энтитами в нем?

4.Как эти разные DataContext взаимодействуют друг с другом?

5. Есть ли какие-либо рекомендуемыенет таблиц, которые следует использовать при работе с Entity Framework?

Ответы [ 4 ]

6 голосов
/ 10 февраля 2011

@ Уилл правильно, что вы видите ограничение в конструкторе, но оно не единственное, поэтому Code-First не обязательно решит проблему.

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

Создание представления, например, требует времени.Вы можете переместить это, чтобы компилировать время с ручной работой.

1.Если у меня есть база данных большего размера с точки зрения таблиц / объектов, как описано выше, это хорошая идея использовать Entity Framework?

Я бы точно не сталпусть это остановит вас.

2.Какой подход лучше использовать Entity Framework для работы с базой данных?3. Должен ли я создавать несколько файлов DataContext или EDMX с меньшим числом элементов в нем?

Это, безусловно, хороший подход для многих приложений.

4. Как эти различные DataContext будутвзаимодействовать друг с другом?

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

5. Есть ли рекомендуемые таблицы, которые следует использовать при работе с Entity Framework?

Один из способов - использовать меньшие модели, как вы предлагали.Другой способ - обойти проблемы с производительностью, которые иногда поставляются с более крупными моделями (см. Ссылки, которые я даю выше).Как и в случае любой потенциальной проблемы с производительностью, сначала введите правильный код, а затем профилируйте и исправьте медленные части.Как правило, настройка запросов в любом случае важнее размера модели.

2 голосов
/ 09 февраля 2011

EF, наверное да. Набор инструментов в Visual Studio? Не так много, по-видимому. Для такой большой базы данных вы можете сделать Code First.

0 голосов
/ 09 февраля 2011

Я думаю, что у самого EF нет ограничений по производительности для подсчета таблиц, но есть для подсчета записей в конкретной таблице.Вы должны сделать ручное отношение object-db (то есть ручные классы записи для таблиц и соответствующих атрибутов), чтобы уйти от проблем проектирования в VS10.Это понятный подход в Hibernate, но в EF, вероятно, нет.

0 голосов
/ 09 февраля 2011

Entity Framework - лучший способ разработки приложений баз данных. Я использовал для разработки своих приложений с использованием LINQ to SQL, но поскольку Microsoft не собирается поддерживать его в будущем, она рекомендует использовать Entity Framework. Кстати, Entity Framework 4 в .NET 4 имеет гораздо лучшую производительность, чем предыдущие версии. В настоящее время я разрабатываю корпоративное приложение с использованием Entity Framework, и оно поддерживает все мои потребности. Я предлагаю использовать Entity Framework.

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