基于LINQ to SQL的WEB开发三层架构.doc_第1页
基于LINQ to SQL的WEB开发三层架构.doc_第2页
基于LINQ to SQL的WEB开发三层架构.doc_第3页
基于LINQ to SQL的WEB开发三层架构.doc_第4页
基于LINQ to SQL的WEB开发三层架构.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于LINQ to SQL的WEB开发三层架构(组图)2009年05月06日10:39来源: 我有话说查看评论(0) 好文我顶(0) 程序员不再受限于复杂的SQL脚本,而可以一种近乎完美的方式来搭建自己的面向对象型软件系统,这种方式就是将数据完全对象化,将SQL语句封装到底层,由framework来完成,程序员只需面向数据库对象来编程,从另一种意义上来说,是把数据也程序化了。 LINQ的这种开发模式也改变了系统架构的搭建方式,在以往的系统中,数据访问层DAL要访问数据字段,业务逻辑层BLL要得到数据都需要通过数据模型层Model来处理,而LINQ和VS2008为我们带来了一种全新的自动化方式生成数据模型层,这就是dbml(DatabaseMarkLanguage。数据库描述语言,是一种xml格式的文档,用来描述数据库),有了它我们就不需要去找那些第三方的代码生成工具,只需要把数据表拖拽到设计器中,如下图所示,DONET便为我们做好了一切。 完成拖拽操作后,VS会自动生成一个数据模型层的dbml文件和相关的类文件。这样我们省去了数据模型层的搭建,系统的架构也就有所不同,以下用一个例子简单的讲一下该架构模型。 为了完成这个架构,我们首先要创建一个WEB APPLICATION项目,在新建项目窗口选择“ASP.NETWEB应用程序”,为它取一个名字,并确定。 接下来,在解决方案资源管理器中再添加一个类库项目,取名为DAL,如下图: 再使用同样的方法在解决方案资源管理器中添加一个类库项目,取名为BLL,这样我们的基础架构搭建完成,此时我们的解决方案资源管理器应该是如下结构。 此时,我们先从DAL项目入手,在DAL项目中,添加一个LINQ TOSQL类,取名为Northwind(为了方便起见,此项目使用SQLSERVER2005中的Northwind示例数据库),双击新建立的Northwind.dbml文件,然后打开“服务器资源管理器”,建立与数据的连接,并从Northwind数据库中,将Employees表拖拽到Northwind.dbml文件的可视化设计器中。 共2页: 1 2内容导航 第 1 页:LINQ开发模式 第 2 页:初始Northwind.dbml代码 初始的Northwind.dbml文件代码如下:#pragma warning disable 1591/-/ / 此代码由工具生成。/ 运行时版本:2.0.50727.3053/ 对此文件的更改可能会导致不正确的行为,并且如果/ 重新生成代码,这些更改将会丢失。/ /-namespace DALusing System.Data.Linq;usingSystem.Data.Linq.Mapping;using System.Data;usingSystem.Collections.Generic;using System.Reflection;usingSystem.Linq;using System.Linq.Expressions;using从中可以看到,这里本质上就是以前的数据模型层,将数据整个对象化了,为了层之间的访问方便,我们将改类的命名空间改为Auto.DAL,并将NorthwindDataContent类的第一个构造函数代码修改如下,这样修改主要是为了统一数据库连接字符串的位置,因为dbml文件在生成后会附带生成一个app.config文件,用来存放连接字符串,而我们要把连接字符串统一放到web.config中。(要访问web.config文件,需要为DAL项目添加对System.Configuration的应用)public NorthwindDataContext() :base(ConfigurationManager.ConnectionStringsNorthwindConnectionString.ConnectionString,mappingSource)OnCreated();完成前面的操作以后,开始建立数据访问层的类文件,这时,先在DAL项目下添加一个类文件,取名为DALEmployees.cs,其代码如下:using System;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace Auto.DALpublic classDALEmployees/ /VS自动生成的数据模型/ NorthwindDataContext db =newNorthwindDataContext();/ / 根据条件获取数据列表方法/ / 城市地址/获取的Employees数据列表public IQueryableGetList(stringstrCity)/根据城市地质,通过LINQ返 回数据return from p indb.Employeeswherep.City strCityselect p;这个数据访问层中只建立了一个用来根据城市地址获取Employee数据的方法,它内部执行一段LINQ,返回一个IQueryable型的结果,由于LINQ后期编译的特性,这个结果只有在程序运行后才会返回数据集。接着,建立业务逻辑层,在BLL项目中,添加一个类文件,取名为BLLEmployees.cs,其代码 如下:using System;usingSystem.Collections.Generic;usingSystem.Linq;using System.Text;usingAuto.DAL;namespaceAuto.BLLpublic class BLLEmployees/ /通过城市名获得Employee数据/ /城市名/ 数据 结果public IQueryable GetList(string strCity) DALEmployeesde=newDALEmployees();/调用数据访问层的方法return de.GetList(strCity);这段代码完成了业务逻辑层的定义,建立了一个和数据访问层的同名方法GetList,用来传送城市名称参数。最后,在WEBApplication项目中,添加对BLL层的应用,并在Default.aspx页面中添加一个GridView控件用来显示数据,Default.aspx.cs的代码如下:完成后,执行程序,便可得到相关数据,整个程序的结构如下: 总结:实际上,这个基于LINQ的架构是将数据模型层和数据访问层整合到一个项目中,它的特点就是开发快速,效率高,可以很方便的帮你完成数据模型的搭建,并且也便于后期修改,当数据表发生变动时,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论