Для какого типа проекта подходит Entity Framework в настоящее время? - PullRequest
3 голосов
/ 07 октября 2008

Недавно я слушал подкаст, в котором подробно обсуждались недостатки Entity Framework (EF).

Но, их мнение, возможно, должно быть взято с крошкой соли (мной), из того, что я мог бы собрать:

  • Это были специалисты ORM.
  • Они либо зарабатывали на жизнь инструментами ORM, либо своим хобби
  • Они использовали инструменты ORM для крупномасштабных приложений
  • Они также были очень обеспокоены uber-тактикой ALT.NET, с которой я не обязательно связан (ДА)

Мой общий вопрос:

  • Для какого типа проекта подходит Entity Framework в настоящее время?

Но вот несколько подвопросов, которые могут помочь вам понять, куда я направляюсь с этим вопросом:

  1. EF лучше, чем ничего? Я устал делать все вручную.
  2. Близко ли это к "решению той же проблемы", что и LINQ to SQL? 2а. Если да, то когда один из них подходит к другому? * нашёл ветку по этому вопросу, когда я перебирал вопросы с этим тегом , так что не берите в голову *
  3. Подходит ли оно для простых «быстрых и грязных» приложений, например, когда формируется основная масса ваших административных CRUD?

edit : для тех, кто может заинтересоваться, я в основном работаю над приложениями малого и среднего размера. Это может направить ваш ответ, или нет.

1 Ответ

1 голос
/ 07 октября 2008

Entity Framework подходит для всех приложений, которым было бы полезно иметь уровень ORM. Даниэль Симмонс пост подробно расскажет об этом. http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx

Entity Framework во многом похож на Linq для SQL, но не привязан к MS SQL Server, как Linq для SQL. Кроме того, EF поддерживает более гибкое отображение между объектами вашего бизнеса / домена и таблицами данных. Linq для SQL поддерживает более однозначное сопоставление, тогда как EF поддерживает возможность сопоставления одного объекта нескольким таблицам или одной таблицы нескольким объектам. У вас есть достойная дизайнерская поддержка в обоих.

В мире открытого исходного кода NHibernate, вероятно, является наиболее продвинутым и во многих отношениях является более зрелым продуктом (он, безусловно, поддерживает более широкий набор функций, в некотором отношении). Но с EF вы получаете полную поддержку MS и тесную интеграцию в набор инструментов Visual Studio и стек .net Framework. EF также был лучшим профессионалом в Linq, чем NH на момент написания.

Для быстрого и грязного приложения я бы, если честно, склонялся к Linq для SQL, если вы можете жить с MS SQL Server и ограничениями отображения.

Для более сложных приложений я бы использовал EF или NHibernate.

Вас может заинтересовать пост доверия, который я дал на EF http://blog.keithpatton.com/2008/06/24/A+Vote+Of+Confidence+For+The+Entity+Framework.aspx

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