Каков наиболее используемый метод для доступа к базе данных от C# в наше время [закрытого]

10
задан MD Sayem Ahmed 15 July 2010 в 13:05
поделиться

6 ответов

Наиболее распространенными методами, вероятно, являются:

  • LINQ to SQL
  • Entity Framework
  • ADO.NET напрямую
  • NHibernate
  • Другие операционные системы / RM.

Все они все еще используются и имеют разные преимущества и недостатки. Я думаю, что Microsoft в настоящее время пытается побудить людей использовать Entity Framework .

19
ответ дан 3 December 2019 в 14:05
поделиться

Мне лично нравится Linq To Sql с использованием CodeSmith для генерации сущностей, более конкретно я считаю, что Plinqo обладает наибольшей легкостью расширения. Он позволяет разделить все объекты Entity на отдельные файлы с редактируемой и генерируемой версией. Это позволяет вам расширить ваш DAL таким количеством вспомогательных функций, которое вам нужно. У него есть дополнение Visual Studio, которое позволяет вам регенерировать все ваши сущности одним щелчком мыши.

Обычно я использую принцип "сначала база данных - потом дизайн", поэтому я вношу изменения в базу данных, перехожу в VS, регенерирую сущности, а затем могу продолжать кодирование.

Независимо от того, что вы выберете, я думаю, что важным фактором для ORM является возможность конфигурировать его в соответствии с вашими потребностями, не существует универсального решения.

BTW, я не работаю на CodeSmith, я просто пользуюсь им :)

1
ответ дан 3 December 2019 в 14:05
поделиться

Итак, в .NET существует несколько технологий для доступа к базе данных. Сначала это ADO.NET. Это одна из «настоящих» технологий доступа, потому что другие (например, NHibernate, LINQ2SQL, Entity Framework (все они ORM)) используют ADO.NET для фактического подключения к базе данных и выполнения команд против нее. Конечно, .NET предоставляет другие способы взаимодействия с базой данных, например, импорт некоторого COM-интерфейса, но они неестественны.

Также существуют инструменты, которые помогают вам общаться с базой данных. Это расширения ADO.NET (например, доступ к данным корпоративной библиотеки), а инструменты позволяют работать с объектами (именованными сущностями), которые естественны для объектно-ориентированной среды выполнения как .NET, но загружают и сохраняют эти сущности из базы данных. Эти инструменты называются ORM (объектно-реляционное сопоставление), а современные инструменты просты в использовании и приятны.

1
ответ дан 3 December 2019 в 14:05
поделиться

На мой взгляд, для быстрой разработки приложений использование ORM-инструмента, такого как LLBLGEN, является лучшим решением. Вы можете значительно ускорить процесс разработки.

4
ответ дан 3 December 2019 в 14:05
поделиться

Что ж, если мне нужно выбрать один, я бы сказал, что Entity Framework это самый общий способ, LINQ to SLQ устаревает в будущем, NHibernate будет все больше и больше в будущем.

Но лучший совет, наверное, попробовать выбрать для всей команды! даже если у него есть обратная сторона, они все в какой-то момент были.

1
ответ дан 3 December 2019 в 14:05
поделиться

Есть только один способ - ADO.NET для SQL Server. В частности, объекты Connection и Reader в нем. Теперь вы можете сказать, что есть такие вещи, как Entity Framework - но, что интересно, они находятся ПЕРЕД реальным уровнем доступа, используя оба элемента доступа, названные ранее. Даже DataSets - это более высокий уровень (данные читаются через DataReader).

Так какой же метод доступа к базе данных наиболее часто используется в настоящее время? метод доступа к базе данных в настоящее время?

Готов поспорить, что это все еще наборы данных. Количество необразованных, следующих принципу drag and drop, IMHO все еще составляет большинство, и этот подход в visual studio приводит к Datasets.

Профессионалы используют своего рода ORM. Entity Framework сейчас довольно активно продвигается людьми, которые в основном не знают, что ORM может сделать, если его правильно запрограммировать. На данный момент лучшим вариантом для высококачественного слоя остается NHibernate.

10
ответ дан 3 December 2019 в 14:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: