Sql 什么是ADO.NET

Sql 什么是ADO.NET,sql,ado.net,Sql,Ado.net,我对ADO.NET的理解感到困惑,读了几篇文章后,我不清楚什么是性能考虑 什么是ADO.NET,性能考虑因素是什么 ADO.NET可能与SQL存储过程相关联,或者是不同的东西 谢谢大家 将Ado.net视为一个托管库,它提供了访问外部数据源所需(以及可能使用)的所有类和功能。这是最简单的想法。但由于它不是一个单独的库(因为它包含在.net库中),人们往往会感到困惑。我们可以说它是.net中的一个图书馆 可以在上找到更详细的解释 存储过程是特定数据存储的一部分。net使您能够以标准化的方式调用

我对ADO.NET的理解感到困惑,读了几篇文章后,我不清楚什么是性能考虑

  • 什么是ADO.NET,性能考虑因素是什么
  • ADO.NET可能与SQL存储过程相关联,或者是不同的东西

谢谢大家

将Ado.net视为一个托管库,它提供了访问外部数据源所需(以及可能使用)的所有类和功能。这是最简单的想法。但由于它不是一个单独的库(因为它包含在.net库中),人们往往会感到困惑。我们可以说它是.net中的一个图书馆

可以在上找到更详细的解释

存储过程是特定数据存储的一部分。net使您能够以标准化的方式调用这些存储过程

MSDN中的一个示例

using (SqlConnection connection = new SqlConnection(connectionString))
{
    // Create the Command and Parameter objects.
    SqlCommand command = new SqlCommand(queryString, connection);
    command.Parameters.AddWithValue("@pricePoint", paramValue);

    // Open the connection in a try/catch block. 
    // Create and execute the DataReader, writing the result
    // set to the console window.
    try
    {
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine("\t{0}\t{1}\t{2}", reader[0], reader[1], reader[2]);
        }
        reader.Close();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
    Console.ReadLine();
}
您可以看到Ado.net类的使用:

  • SqlConnection
  • SqlCommand
  • SqlDataReader

因此,Ado.net为您提供了所有这些功能,因此您不必每次访问外部数据源(关系数据库、服务等)时都重新发明轮子。

Ado.net是.net framework的一个组件,允许您访问不同的数据源。存储过程是不同的:它是一个允许您查询关系数据库并在数据库中运行的函数

因此可以使用ADO.NET调用存储过程。以以下为例:

using (var con = new SqlConnection(SomeConnectionStringToTheDatabase))
using (var cmd = con.CreateCommand())
{
    con.open();
    con.CommandText = "NameOfTheStoredProcdureYouWantToInvoke";
    con.CommandType = CommandType.StoredProcedure;

    var result = command.ExecuteNonQuery();
}

我们用来调用存储过程的类是ADO.NET的一部分。

ADO.NET是.NET框架的一部分,是数据库驱动程序和应用程序之间的层。NET应用程序中的所有数据库访问都通过ADO.NET进行

数据库驱动程序通常是本机.NET驱动程序,但也可以是类似ODBC的驱动程序

通过ADO.NET例程,您可以使用SQL查询、SQL存储过程或直接表绑定来访问数据库。这些都是特定于数据库的,并且根据数据库和数据库驱动程序的不同而有所不同,但是数据库扩展时有一个SQL标准,因此至少有一些共同点

有一些数据访问框架可以代替ADO.NET使用,比如实体框架。然而,它们并没有取代ADO.NET,它们仍然使用ADO.NET层来访问数据库

什么是ADO.NET

一般来说,它是一种访问数据库(或其他类型的数据源,如csv文件)的技术。从程序员的角度来看,访问数据库及其数据库构件(如表、视图或存储过程)所需的只是一组库和类

ADO.NET可能与SQL存储过程相关联,或者是不同的东西


您可以使用ADO.NET访问一段托管代码(用C#或VB编写)中的存储过程。存储过程是驻留在数据库中的一段代码(用PL/SQL或T-SQL编写)。是的,它们完全不同。

基本上,Ado.Net是.Net framework的一部分,它允许我们(应用程序)连接到不同的数据源,并允许我们对它们(数据)执行操作。