基于LINQ to SQL的WEB三层架构(下)

      完成前面的操作以后,开始建立数据访问层的类文件,这时,先在DAL项目下添加一个类文件,取名为DALEmployees.cs,其代码如下:

数据访问层

      这个数据访问层中只建立了一个用来根据城市地址获取Employee数据的方法,它内部执行一段LINQ,返回一个IQueryable型的结果,由于LINQ后期编译的特性,这个结果只有在程序运行后才会返回数据集。

      接着,建立业务逻辑层,在BLL项目中,添加一个类文件,取名为BLLEmployees.cs,其代码如下:

业务逻辑层

      这段代码完成了业务逻辑层的定义,建立了一个和数据访问层的同名方法GetList,用来传送城市名称参数。最后,在WEB Application项目中,添加对BLL层的应用,并在Default.aspx页面中添加一个GridView控件用来显示数据,Default.aspx.cs的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Auto.BLL;

namespace WebApplication2
{
    
public partial class _Default : System.Web.UI.Page
    {
        
protected void Page_Load(object sender, EventArgs e)
        {
            
if (!IsPostBack)
            {
                GetList(
"London");
            }
        }

        
/// <summary>
        
/// 根据城市获取数据
        
/// </summary>
        
/// <param name="strCity">城市名称</param>
        private void GetList(string strCity)
        {
            
//执行业务逻辑层的方法
            BLLEmployees bl = new BLLEmployees();
            
//绑定到GridView1控件
            GridView1.DataSource = bl.GetList(strCity);
            GridView1.DataBind();
        }
    }
}

      完成后,执行程序,便可得到相关数据,整个程序的结构如下:

      总结:实际上,这个基于LINQ的架构是将数据模型层和数据访问层整合到一个项目中,它的特点就是开发快速,效率高,可以很方便的帮你完成数据模型的搭建,并且也便于后期修改,当数据表发生变动时,只选要修改dbml文件就可以了。但这个架构里有些地方还是不大完善,例如城市数据作为参数,应该也是以数据模型的方式来传送,但这里仅是按字符串传递,这样不利于数据的封装和安全。因此还需要在此处改进。总体来说,比以往的三层架构结构更加清晰了,如果再结合ASP.NET MVC架构来使用,就更加完美了。

基于LINQ to SQL的WEB三层架构(上)

原文地址:https://www.cnblogs.com/jinqi79731/p/1450146.html