Доступ к базе данных SQL старой школы по сравнению с ORM (NHibernate, EF и др.).Кто выигрывает?

StackOverflow https://stackoverflow.com/questions/59972

  •  09-06-2019
  •  | 
  •  

Вопрос

Мне удалось написать собственный код доступа к SQL с комбинацией хранимых процедур и параметризованных запросов, а также небольшую библиотеку-оболочку, которую я написал, чтобы свести к минимуму гранж ADO.NET.В прошлом все это очень хорошо работало для меня, и я был довольно продуктивен в этом.

Я собираюсь заняться новым проектом — стоит ли мне оставить старые школьные вещи позади и заняться решением на основе ORM?(Я знаю, что между NHibernate и EF существуют огромные различия в общих понятиях — я не хочу здесь вдаваться в подробности.В качестве аргумента давайте даже объединим LINQ с альтернативами старой школы.) Мне нужен совет по реальному применению вещей типа ORM в сравнении с тем, что я знаю (и знаю довольно хорошо).

Старый добрый код ADO.NET или ORM?Я уверен, что существует кривая: есть ли у этой кривой рентабельность инвестиций, которая делает все стоящим?Я волнуюсь и хочу учиться, но у меня есть крайний срок.

Это было полезно?

Решение

Хороший вопрос, но очень спорная тема.

Эта запись в блоге от Франса Бумы Несколько лет назад ссылки на преимущества динамического SQL (подразумевающего ORM) по сравнению с хранимыми процедурами вызвали настоящую пламенную войну.

Другие советы

Я обнаружил, что LINQ to SQL работает намного быстрее, когда я создаю прототип кода.Когда мне что-то нужно сейчас, это просто сводит на нет любой другой метод.

Но есть цена.По сравнению с хранимыми процессами, выполняемыми вручную, LINQ работает медленно.Особенно, если вы не очень осторожны, поскольку, казалось бы, незначительные изменения могут внезапно превратиться в запросы 1+N.

Моя рекомендация.Сначала используйте LINQ to SQL, а затем переключитесь на procs, если вы не получаете необходимой производительности.

На DevTeach в Монреале прошла большая дискуссия по этой теме.Если вы перейдете по этому URL-адресу: http://www.dotnetrocks.com/default.aspx?showNum=240 вы сможете услышать, как два эксперта в этой области (Тед Ньюард и Орен Эйни) обсуждают плюсы и минусы каждого подхода.Вероятно, лучший ответ, который вы найдете на тему, на которую нет однозначного ответа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top