有没有觉得将 C# 连接到 SQL Server 非常困难?它不一定是。让我们看看 Dapper 如何让它变得简单。
使用 ADO.NET 可能非常棘手。它为您提供了很多控制权,但需要设置许多部分。不适合日常使用。
然后是实体框架 (EF)。 EF 可以为你做很多事情,但当它出现故障时,就很难修复。因此,它可能不是快速工作的最佳选择。
这就是 Dapper 的用武之地。它易于使用、功能强大且清晰。此外,它是由 Stack Overflow 制作的。如果他们使用它,我们可以信任它!
让我们开始一个新项目并使用 Dapper。
首先,打开 Visual Studio 并启动新的 Windows 窗体应用程序。将其命名为 SQLDataAccessDemo 和表单 Dashboard。
接下来,让我们设置 SQL Server。创建一个名为 Sample 的数据库,其中包含一个表 dbo.people。此表将包含 ID、FirstName、LastName、Email 和 PhoneNumber 等字段。使用此 SQL 进行设置:
CREATE TABLE dbo.people (
Id INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Email NVARCHAR(100),
PhoneNumber VARCHAR(20)
);
CREATE PROCEDURE dbo.people_getbylastname
@LastName NVARCHAR(50)
AS
BEGIN
SELECT * FROM dbo.people WHERE LastName = @LastName;
END;
CREATE PROCEDURE dbo.people\_insert
@FirstName NVARCHAR(50),
@LastName NVARCHAR(50),
@Email NVARCHAR(100),
@PhoneNumber VARCHAR(20)
AS
BEGIN
INSERT INTO dbo.people (FirstName, LastName, Email, PhoneNumber)
VALUES (@FirstName, @LastName, @Email, @PhoneNumber);
END;
添加一些数据后,我们现在有一个工作数据库。
在我们的项目中,为 people 表创建一个类。将其命名为 Person:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string PhoneNumber { get; set; }
}
类属性与表列匹配,以简化操作。
接下来,将 Dapper 添加到您的项目中。在 NuGet 包管理器中,搜索并安装 Dapper。现在,让我们连接到数据库并获取一些数据:
string connectionString = "Your SQL Server connection string here";
using (IDbConnection db = new SqlConnection(connectionString))
{
var sql = "SELECT * FROM dbo.people";
var people = db.Query(sql).ToList();
foreach (var person in people)
{
Console.WriteLine($"{person.FirstName} {person.LastName}");
}
}
就像这样,您可以使用 Dapper 从 SQL Server 获取数据。
现在,让我们将一个新 person 插入到数据库中。这是代码:
public void AddPerson(string firstName, string lastName, string email, string phoneNumber)
{
using (IDbConnection db = new SqlConnection(connectionString))
{
var sql = "dbo.people_insert";
db.Execute(sql, new { FirstName = firstName, LastName = lastName, Email = email, PhoneNumber = phoneNumber },
commandType: CommandType.StoredProcedure);
}
}
就这样,您可以轻松地将一个新人添加到您的数据库中。
我们所做的只是一个开始。Dapper 可帮助您轻松获取数据。它简单、轻量级且功能强大。
那么,您的下一步是什么? 尝试一下,玩转一下,看看它是如何工作的。使用 Dapper 将 C# 连接到 SQL Server 并不难。