Фреймворки ORM заботятся о / предлагают индексы в таблицах БД? - PullRequest
1 голос
/ 23 октября 2010

Я еще не слишком разбирался в платформах ORM и мог бы использовать некоторые материалы опытных практиков.Некоторые из этих вопросов могут быть наивными.Пожалуйста, потерпите меня.

  1. При отображении объектов в отношения эти структуры также предлагают индексы, которые могут быть необходимы для эффективного выполнения запросов?они эффективны в реляционной области?Работают ли они в основном нормально, как генерируются, или требуется вмешательство?
  2. Каков текущий консенсус в отношении ORM по выбору в мире .NET?

1 Ответ

1 голос
/ 23 октября 2010

У меня есть опыт работы с Entity Spaces, немного с Entity Framework, а также с NHibernate.

  1. Не в моем опыте.Для этого используйте Query Analyzer или аналогичный.
  2. Обычно да, но остерегайтесь проблемы N + 1 .Entity Framework позволяет откатывать сущности «с» дочерними сущностями.NHibernate пытается быть умным об этом.Вы должны следить за тем, что генерируется SQL, особенно для более дорогих запросов.
  3. Толпа TDD предпочитает NHibernate, поскольку он позволяет вам использовать POCO сущности(и они склонны предпочитать Единицу Работы по сравнению с шаблоном Active Record для тестирования).С другой стороны, Entity Framework поставляется с Visual Studio.Опять же, всегда есть Linq to SQL (гораздо меньший вес).
...