C# 数据访问:使用 Dapper 轻松连接 SQL Server

作者:微信公众号:【架构师老卢】
9-20 19:39
117

有没有觉得将 C# 连接到 SQL Server 非常困难?它不一定是。让我们看看 Dapper 如何让它变得简单。

当 ADO.NET 感觉太复杂时

使用 ADO.NET 可能非常棘手。它为您提供了很多控制权,但需要设置许多部分。不适合日常使用。

实体框架:有用还是困难?

然后是实体框架 (EF)。 EF 可以为你做很多事情,但当它出现故障时,就很难修复。因此,它可能不是快速工作的最佳选择。

进入 Dapper:恰到好处

这就是 Dapper 的用武之地。它易于使用、功能强大且清晰。此外,它是由 Stack Overflow 制作的。如果他们使用它,我们可以信任它!

使用 Dapper 设置项目

让我们开始一个新项目并使用 Dapper。

第 1 步:创建新项目

首先,打开 Visual Studio 并启动新的 Windows 窗体应用程序。将其命名为 SQLDataAccessDemo 和表单 Dashboard

步骤 2:设置数据库

接下来,让我们设置 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;

添加一些数据后,我们现在有一个工作数据库。

第 3 步:用 C 语言构建模型#

在我们的项目中,为 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; }  
}

类属性与表列匹配,以简化操作。

第 4 步:将 Dapper 添加到组合中

接下来,将 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 获取数据。

步骤 6:插入数据

现在,让我们将一个新 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 可帮助您轻松获取数据。它简单、轻量级且功能强大。

那么,您的下一步是什么? 尝试一下,玩转一下,看看它是如何工作的。使用 Dapper 将 C# 连接到 SQL Server 并不难。

相关留言评论
昵称:
邮箱:
阅读排行