Какова реальная выгода ADO.NET Entity Framework? - PullRequest
6 голосов
/ 20 февраля 2010

Я читал эту статью о ADO.NET Entity Framework и нашел ее очень интересной, хотя в первом кадре я не мог расшифровать многие вещи. Я снова читаю статью, чтобы понять реальную логику, стоящую за этим.

а) У меня возник вопрос: зачем нам нужен каркас ORM (в общем)?

b) И среди других платформ ORM, представленных для .NET, таких как Spring.NET, Linq to Sql, NHibernate и т. Д. Почему мы предпочтем ADO.NET Entity Framework?

Ответы [ 5 ]

10 голосов
/ 20 февраля 2010

б. Субъективная. Возможно, я не смогу высказать хорошее мнение, так как я не использовал EF.

5 голосов
/ 11 декабря 2012

Есть несколько преимуществ. Важными среди них являются:

  1. Предоставляет выделенную функциональность для операции CRUD (создание, чтение, обновление, удаление). Простота реализации операций CRUD.

  2. Если вы хотите заменить хранилище данных, его очень легко заменить без изменения логики доступа к данным, поскольку вся логика доступа к данным присутствует на более высоком уровне.

  3. Легко управлять отношениями один к одному, один ко многим и многие ко многим между таблицами.

  4. Концептуальная модель может быть представлена ​​лучше.

  5. Разработчик может сократить код в классах и подклассах для доступа к данным.

3 голосов
/ 20 февраля 2010

EF - создание логических объектов из реляционных таблиц SQL. Как правило, вы хотите разумно сопоставить ваши физические таблицы с вашими объектами, но иногда это не работает таким образом. Это продвигает невежество постоянства.

2 голосов
/ 20 февраля 2010

Вот некоторые из моих мыслей:

a) ORM существуют для упрощения и уменьшения нагрузки на разработчика. Во многих хорошо спроектированных реляционных моделях к базе данных можно получить доступ с помощью повторяющегося кода (просто измените имя таблицы, имена столбцов, но поведение очень схожее). ORM генерирует код, который разработчик может использовать сразу же, и настраивает его по мере необходимости. Разработчику не нужно писать SQL - это работа ORM сейчас. Он также обновляет сгенерированный код, автоматически приспосабливаясь к изменениям схемы базы данных.

б) Я не знаю. Это действительно зависит от ваших требований и зависимостей. Насколько вы хотите, чтобы ваш ORM был? Насколько важна производительность? Насколько удобен для разработчиков код? Entity Framework стремится создать более полную библиотеку классов в качестве слоя доступа к данным, предоставляя при этом визуальные инструменты для настройки сгенерированного кода. Linq to SQL, как правило, легче разбросать по разным методам. Это только один пример.

0 голосов
/ 20 февраля 2010

а) ORM-структура абстрагирует стандартный код доступа к уровню данных: вы просто имеете дело с объектами в коде.

б) Зависит от ваших обстоятельств и требований.

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