码迷,mamicode.com
首页 > 移动开发 > 详细

C# Dapper基本三层架构使用 (三、DAL)

时间:2020-05-02 11:50:21      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:service   添加   静态   项目   love   sele   文件   rom   sys   

数据访问层(DAL),主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作

技术图片

首先需要在UI层App.Config配置文件中增加连接字符串,如下所示

  <connectionStrings>
    <add name="con" connectionString="Data Source=127.0.0.1;Initial Catalog=Northwind;User ID=sa;Password=*******;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"/>
  </connectionStrings>

在DAL类库中添加Configuration引用,这样才能访问App.config配置

在DAL类库中添加RegionService.cs类

类库结构如下

技术图片

添加类库引用

技术图片

并在项目using中引用以下命名空间

using Dapper;
using System.Configuration;
using Northwind.Model;
using System.Data;
using System.Data.SqlClient;

在类中增加访问数据库字符串的静态变量,以供整个类中访问数据库

private static string connStr = ConfigurationManager.ConnectionStrings["con"].ConnectionString;

添加根据RegionID查询数据库中的数据,并返回数据

public static Region GetById(int id)
{
    using (IDbConnection conn = new SqlConnection(connStr))
    {
        string sql = "SELECT r.RegionID, r.RegionDescription FROM Region AS r WHERE r.RegionID=@RegionID";
        DynamicParameters parameters = new DynamicParameters();
        parameters.Add("RegionID", id);
        IEnumerable<Region> region = conn.Query<Region>(sql, parameters);
        return region.FirstOrDefault();
    }
}

添加数据

public static bool Insert(Region region)
{
    using (IDbConnection conn = new SqlConnection(connStr))
    {
        string sql = @"INSERT INTO Region
                        (
                            RegionID,
                            RegionDescription
                        )
                        VALUES
                        (
                            @RegionID,
                            @RegionDescription
                        )";

        DynamicParameters parameters = new DynamicParameters();
        parameters.Add("RegionID", region.RegionID);
        parameters.Add("RegionDescription", region.RegionDescription);
        return conn.Execute(sql, parameters) > 0;
    }
}

判断数据是否存在

public static bool IfExists(Region region)
{
    using (IDbConnection conn = new SqlConnection(connStr))
    {
        string sql = "SELECT r.RegionID, r.RegionDescription FROM Region AS r WHERE r.RegionID=@RegionID AND r.RegionDescription=RegionDescription";
        DynamicParameters parameters = new DynamicParameters();
        parameters.Add("RegionID", region.RegionID);
        parameters.Add("RegionDescription", region.RegionDescription);
        IEnumerable<Region> regions = conn.Query<Region>(sql, parameters);
        return regions.Count<Region>() > 0;
    }
}

 

C# Dapper基本三层架构使用 (三、DAL)

标签:service   添加   静态   项目   love   sele   文件   rom   sys   

原文地址:https://www.cnblogs.com/win32pro/p/12817397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!