1. ADO.NET概述

本章讨论如何使用ADO.NET访问C#程序中的关系数据库,例如SQL Server,主要介绍如何连接数据库,以及断开与数据库的连接。如何使用查询,如何添加和更新记录。学习各种命令对象选项,了解如何为SQL Server提供程序类提供的每个选项使用命令;如何通过命令对象调用存储过程,以及如何使用事务。

ADO.NET之前使用OLEDB和ODBC附带了不同的数据库提供程序,一个提供程序用于SQL Server;另一个提供程序用于Oracle。OLEDB技术不再获得支持,所以这个提供程序不应该用于新的应用程序。对于访问Oracle数据库,微软的提供程序也不再使用,因为来自Oracle(http://www.oracle.com/technetwork/topics/dotnet)的提供程序能更好地满足需求。对其他数据源(也用于Oracle),有许多可用的第三方提供程序。使用ODBC提供程序之前,应该给所访问的数据源使用专用的提供程序。本章中的代码示例基于SQL Server,但也可以把它改为使用不同的连接和命令对象,如访问Oracle数据库时,使用OracleConnection和OracleCommand,而不是使用SqlConnection和SqlCommand.

注意:

本章不介绍把表放在内存中的DataSet,尽管.NET Core 2.0支持它们。DataSet允许从数据库中检索记录,并把内容存储在内存的数据表关系中。DataSet在.NET的早期版本中用得很多。现在可以使用Entity Framework Core(EF Core)。这个新技术允许使用对象关系,而不是使用基于表的关系。

1. 示例数据库

本章的示例使用Books数据库。这个数据库的备份文件位于CreateDatabase目录下面的源代码中。使用该备份文件,可以通过SQL Server Management Studio恢复数据库备份,如下图所示。另外,也可以使用SQL脚本CreateBooks.sql创建数据库。如果系统上没有SQL Server Management Studio,则可以从https://docs.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms上下载一个免费的版本。

1. ADO.NET概述_第1张图片

本章使用的SQL Server是SQL Server LocalDb(实际示例使用了SQL Server 2019 for developers)。这个数据库服务器安装为Visual Studio的一部分。也可以使用任何其他SQL Server版本,只需要改变相应的连接字符串。

2. NuGet包和名称空间

ADO.NET示例的示例代码利用以下依赖项和名称空间:

依赖项

Microsoft.Extensions.Configuration

Microsoft.Extensions.Configuration.Json

System.Data.SqlClient

名称空间

Microsoft.Extensions.Configuration

System

System.Collections

System.Data

System.Data.SqlClient

System.IO

System.Threading.Tasks

你可能感兴趣的:(ADO.NET和事务,c#)