Выбор между блоком доступа к данным 5.0 или Entity Framework 4.0 - PullRequest
1 голос
/ 04 августа 2011

Я собираюсь разработать веб-приложение с двумя основными требованиями:

  1. Полная независимость СУБД. Приложение должно работать с разными СУБД, такими как Oracle, SQL Server и MySQL. То есть клиент 1 использует это приложение с SQL Server, но он хочет перейти на базу данных MySQL. Приложение должно иметь возможность работать с этой новой СУБД, не внося изменений в код приложения. Единственное изменение, которое я хочу сделать, это изменить строку подключения.

  2. Масштабируемость. т.е. у нас будет кластерная установка SQL Server.

Я знаю, что блок доступа к данным может обрабатывать разные СУБД, и я предполагаю, что это не будет проблемой для удовлетворения требований масштабируемости, но я не знаю, так ли это с Entity Framework.

1 Ответ

2 голосов
/ 08 августа 2011

Выберите Entity Framework по нескольким причинам.

Во-первых, EF - это то место, где Microsoft делает все возможное для доступа к данным в обозримом будущем. Блок данных Entlib предназначен, прежде всего, для поддержки людей, уже использующих его.

Во-вторых, Entlib предоставит вам обычный API, но он не изолирует вас от различий в операторах SQL. В частности, Oracle работает с курсорами, которых нет (или не нужно) в других базах данных; EF по крайней мере пытается дать вам единый API.

Что касается масштабируемости, это все о дизайне вашей базы данных и приложения, никакой инструмент доступа к данным не даст вам этого.

...