C# Dapper基本三层架构使用 (Web UI层)

Posted Li Essay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Dapper基本三层架构使用 (Web UI层)相关的知识,希望对你有一定的参考价值。

三层架构的好处,一套代码无论WinForm还是Web都可以通用,只写前台逻辑就可以了,现在展示Web调用三层的示例

首先在项目中创建一个Web MVC5项目,目前项目目录如下

在Web项目Web.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增加查询所有数据的方法

public static List<Region> GetAll()
{
    using (IDbConnection conn = new SqlConnection(connStr))
    {
        string sql = "SELECT r.RegionID, r.RegionDescription FROM Region AS r";
        IEnumerable<Region> regions = conn.Query<Region>(sql);
        return regions.ToList();
    }
}

在BLL中增加调用DAL中的GetALL方法

public static List<Model.Region> GetALLRegion()
{
    return DAL.RegionService.GetAll();
}

在Web Home控制器中添加引用

using Northwind.BLL;
using Northwind.Model;

修改Index方法中添加如下获取实体类的方法,传递到View视图中

public ActionResult Index()
{
    List<Region> regions = new List<Region>();
    regions = RegionManger.GetALLRegion();
    return View(regions);
}

修改Index视图为以下代码

@model IEnumerable<Northwind.Model.Region>

<table class="table">
    <caption>Region</caption>
    <thead>
        <tr>
            <th>RegionID</th>
            <th>RegionDescription</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>@html.DisplayFor(modelitem => item.RegionID)</td>
                <td>@Html.DisplayFor(modelitem => item.RegionDescription)</td>
            </tr>
        }
    </tbody>
</table>

展示效果

 

以上是关于C# Dapper基本三层架构使用 (Web UI层)的主要内容,如果未能解决你的问题,请参考以下文章

C# Dapper基本三层架构使用 (架构关系)

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

三层架构的一点理解以及Dapper一对多查询

利用Dapper ORM搭建三层架构

Net系列框架-Dapper+简单三层架构

C# Dapper 基本使用 增删改查事务等