Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架与Ado.net_C#_Asp.net_.net_Database_Vb.net - Fatal编程技术网

C# 实体框架与Ado.net

C# 实体框架与Ado.net,c#,asp.net,.net,database,vb.net,C#,Asp.net,.net,Database,Vb.net,ADO.net和实体框架之间的基本区别是什么 为什么我们应该使用实体数据模型而不是命令和数据集?我认为这个问题有点误导。实体框架是ADO.NET的包装器。因此,这两者在性能上几乎没有区别(可能实体框架稍微慢一点)。你用什么完全取决于你的喜好。我现在几乎所有与数据库相关的东西都使用实体框架,因为它看起来更简单、更快速地获得您需要的东西。ADO.NET实体是一种ORM(对象关系映射),它在ADO.NET组件上创建了更高的抽象对象模型。因此,与下面代码中所示的dataset、datatables、co

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


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

我认为这个问题有点误导。实体框架是ADO.NET的包装器。因此,这两者在性能上几乎没有区别(可能实体框架稍微慢一点)。你用什么完全取决于你的喜好。我现在几乎所有与数据库相关的东西都使用实体框架,因为它看起来更简单、更快速地获得您需要的东西。

ADO.NET实体是一种ORM(对象关系映射),它在ADO.NET组件上创建了更高的抽象对象模型。因此,与下面代码中所示的dataset、datatables、command和connection对象不同,您需要处理更高级别的域对象,如客户、供应商等

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"];
}
EF的主要和唯一好处是它自动生成模型(中间层)、数据访问层和映射代码的代码,从而减少了大量的开发时间


你在比较苹果和橙子——实体框架是一种ORM,ADO是一种连接数据库的机制和工具集。。。不要使用数据集(通常有免责声明的IMHO很少出现)ADO.net是一个更接近数据库的层。使用类而不是数据集。EF是如下所述的ORM。
foreach (Customer objCust in obj.Customers)
{}