Разве эти ORM не являются просто ADO.NET с другим именем? - PullRequest
0 голосов
/ 28 сентября 2018

Я читал об альтернативах Entity Framework, но до сих пор я видел Dapper, OrmLite, NPoco, PetaPoco и Massive.

И они ВСЕ выглядят как ADO.NET с другим именеммне.Они работают, выполняя SQL-запросы, заданные в виде простого текста, точно так же, как ADO.NET.

Я уверен, что если вы углубитесь в deep , в них будет some разница, но я что-то упустил или они просто немного отличается от ADO.NET?

1 Ответ

0 голосов
/ 22 октября 2018

Ваш вопрос начинается с обсуждения Entity Framework, но затем он переходит в ADO.NET.Это не одно и то же.

Entity Framework - это среда ORM (объектно-реляционное отображение), как и другие пакеты, которые вы упомянули в первом абзаце.Вы правы, что все они делают одно и то же: они позволяют вам читать и записывать данные из базы данных, используя строго типизированные объекты C # вместо более абстрактных понятий, таких как DataTable и DataRow.Синтаксис для каждого из них разный, и вам может показаться, что с некоторыми проще работать, чем с другими.Вам также может быть интересно взглянуть на некоторые из тестов скорости, которые существуют для различных платформ.

Также важно отметить, что ORM не всегда требуют написания простого текста SQL;они сами позаботятся об этом.Например, что-то вроде этого работает в PetaPoco и NPoco:

public class Holiday
{
    property DateTime Date { get; set; }
    property String Name { get; set; }
}

using (var db = new Database("MyDB"))
{
    // No SQL here -- it gets generated for you
    IEnumerable<Holiday> holidays = db.Query<Holiday>("");
}

ADO.NET - это базовая технология доступа к базе данных, используемая .NET, поэтому все, что обращается к базе данных, будет использовать ее в какой-то момент,Все эти ORM основаны на ADO.NET.

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