实体框架 VS Ado.net



ADO.net 和实体框架之间的基本区别是什么?

为什么我们应该使用实体数据模型而不是命令和数据集?

ADO.NET 实体是一个ORM(对象关系映射),它可以在 ADO.NET 组件上创建更高的抽象对象模型。因此,您无需进入数据集、数据表、命令和连接对象(如下面的代码所示),而是处理更高级别的域对象,如客户、供应商等。

DataTable table = adoDs.Tables[0];
for (int j = 0; j < table.Rows.Count; j++)
{
    DataRow row = table.Rows[j];
    // Get the values of the fields
    string CustomerName =
        (string)row["Customername"];
    string CustomerCode =
        (string)row["CustomerCode"];
}

下面是实体框架的代码,其中我们处理的是更高级别域对象(如客户),而不是基本级别的 ADO.NET 组件(如数据集、数据读取器、命令、连接对象等)。

foreach (Customer objCust in obj.Customers)
{}

EF 的主要和唯一优点是它自动生成模型(中间层)、数据访问层和映射代码的代码,从而减少了大量开发时间。

这里

我认为这个问题有点误导。实体框架是 ADO.NET 的包装器。因此,这两者在性能上几乎没有区别(也许实体框架有点慢)。您使用什么完全取决于您的偏好。我目前正在将实体框架用于与数据库相关的几乎所有内容,因为获取所需内容似乎更简单、更快捷。

最新更新