Является ли Entity Framework 4.1 лучшим решением для веб-приложения, использующего почти 400 таблиц базы данных? - PullRequest
2 голосов
/ 26 мая 2011

Является ли Entity Framework 4.1 лучшим решением для веб-приложения, использующего почти 400 таблиц базы данных, или было бы лучше сделать слой доступа к данным cutome с прямыми sql и sp?

Ответы [ 3 ]

1 голос
/ 26 мая 2011

Количество таблиц влияет только на инициализацию EF, где «представления» должны быть скомпилированы, когда контекст используется в приложении впервые - 400 - это много, и это займет много времени. Это можно ускорить, создав исходный код для представлений и добавив эти исходные коды в проект - представления не будут компилироваться во время выполнения, поскольку скомпилированный код будет частью вашего приложения, но вы должны будете делать это вручную каждый раз, когда вы меняете модель. Для EFv4.1 эта функция предлагается в EF Power Tools CTP1 . Для EDMX эта функция предлагается в EdmGen инструменте командной строки.

Еще одно влияние на такое количество таблиц в разработке. Использование 400 таблиц в одном EDMX кажется невозможным, поэтому вам понадобится несколько контекстов с различными наборами сопоставленных объектов. Это может быть сложной задачей для архитектуры приложения, потому что работа в нескольких контекстах усложняет задачу.

Если вы хотите использовать сопоставление только кода, вы должны либо написать классы и сопоставления для 400 таблиц, либо вы снова будете использовать EF Power Tools CTP1, который сгенерирует их для вас.

Нельзя использовать EF с 400 таблицами, но это сложно и требует некоторого опыта.

0 голосов
/ 26 мая 2011

У нас есть более 1000 таблиц, и мы используем их (это веб-приложение). Вам не нужно помещать все в одну модель, это сильно усложнит работу над самой моделью. И мы используем подход «только код», он еще в разработке, но пока все работает нормально.

0 голосов
/ 26 мая 2011

Разные люди могут иметь разные взгляды на это.Ответ на ваш вопрос, как вы используете EF, будь то модель Poco или вы собираетесь использовать EDMX?Производительность EF также зависит от количества записей, поэтому, если вы используете 10 таблиц и в общей сложности у них 100 записей, то ef будет работать лучше.Но все же производительность ef на основе таблиц и записей - это большой вопрос, и он зависит от различных факторов, включая проектирование вашей базы данных, правильно ли оно нормализовано или нет.

...