在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统 (Part 1)

在新的.Net Framework 3.5平台上,Microsoft发布了LINQ(C# 3.0, VB.Net 9.0)-集成语言查询(Language-Integrated Query),也就是通过编程语言来查询数据:

  • 数据库 (LINQ to SQL)
  • DataSet 数据集(LINQ to Dataset)
  • XML文档 (LINQ to XML)
  • 实体对象 (LINK to Entities)

本文将演示如何在ASP.NET 3.0平台上,使用LINQ to SQL构建多层的Web应用程序。在当前的编程领域中,创建N-Tier应用程序成为一般的要求,且.NET Framework 提供了灵活的支持。一般而言,N-Tier应用程序有如下几个层:1. 表示层;2. 业务逻辑层;3. 数据访问层;4. 数据库层。每一层均完成特定的任务。本篇文章中介绍的架构和经典的N-Tier相似,不过数据库层替换新的DataLinq 层,使用LINQ to SQL 完成数据操作。

图1.1:基于LINQ to SQL的N-Tier架构

架构思考

如果你有大型ASP.NET项目的经历,你可能会注意到更多的时间花在写组件代码,而不是Web页面代码。有时,组件的设计和管理成为一个费时的过程,你可能正遇到架构方面的问题-寻找最好的方式来设计Web应用程序。

我写这篇文章的想法是介绍一个好的设计模式,并不是得到一个结论或者声明这是一个最好的N-Tier应用程序的设计模式。因为对于架构设计,每一个开发人员总是有自己的观点,所以任何合适的架构阐述都是有争议的。然而,如图1.1所示,分离不同的代码到不同的层总是一个好的实践。按这样组织代码,可以更方便地维护和扩展应用程序。

在图1.1中,你可以看到业务组件分割到不同的层。组织代码最好的方法是为每一个业务组件创建不同的类库(Class Library)。Visual Studio允许在同一个Solution中创建多个项目。因此,我们可以在同一个Solution中加入ASP.NET 应用程序和类库Class Library项目。当你在编译Solution时,每一个项目都会生成在bin目录下生成一个assembly程序集文件。方法1:我们可以手动复制.DLL文件到应用程序的bin目录。方法2:增加项目引用。当你编译Solution时,第二种方法可以自动更新应用程序bin目录的程序集文件。通过这种方式组织代码,可以更容易修改/更新项目的特定代码,也容易从不同的Server上迁移代码。我不想深入探讨架构,这里我通过截屏来解释如何实现。

假定你已经具备经典3层架构应用程序的设计经验,我告诉你如何建立层与层之间的引用关系,接着你可以自己建立项目引用。图1.1上的箭头符号说明了不同层之间的交互。说明如下:

(1) 数据访问层引用Data Linq 层(EntLib.com 开源小组注: 原文说还需要引用业务外观(Business Facade)层,原文有误)。

(2) 业务外观(Business Facade)层引用Data Linq 层和数据访问层,因为业务外观层使用Data Linq层的业务实体来创建表实体(后面进行详细讨论),同时调用数据访问层的方法。
(3) 表现层引用Data Linq层和业务外观层。

EntLib.com 开源小组注:本文翻译《Building Multi-Tier Web Application in .NET 3.5 Framework Using LINQ to SQL》。后面内容待续。欢迎交流LINQ相关技术。

转载于:https://www.cnblogs.com/Silicon-Fado/archive/2008/12/02/1345970.html

LINQ to SQL创建三层/多层Web应用系统 (Part 1)相关推荐

  1. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统 (Part 1)

    在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统 (Part 1) 在新的.Net Framework 3.5平台上,Microsoft发布了LINQ(C# 3.0, ...

  2. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载)...

    在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(源代码下载和PDF文档下载) 该主题的Part1- Part5系列文章已经陆续发表.为了感兴趣的朋友阅读方便,这里提供 ...

  3. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(Part5) 转

    设计开发表现层 表现层负责应用程序的用户界面,图4.1是表现层的详细视图,包括Web Forms, Web User Control, Code-Behind 和共享的用户界面代码.表现层负责推送信息 ...

  4. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(Part2) 转

    LINQ to SQL LINQ to SQL 提供了访问数据库的方法,且允许我们做所有数据库相关的操作,如查询.插入.更新和删除.LINQ to SQL消除了写存储过程和从数据访问层调用的过程,它可 ...

  5. 在.NET3.5平台上使用LinQ to SQL + NBear 创建三层WEB应用

    看了<一步一步学Linq to sql>和<在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统> 这两个系列文章后,因为一直使用NBear,所以试 ...

  6. 艾伟_转载:使用LINQ to SQL更新数据库(上):问题重重

    在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作.下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me. 从最简单的情况入手 我们以Northwind数 ...

  7. 基于LINQ to SQL的WEB开发三层架构(1)

    LINQ语言集成查询是微软用于抗衡竞争对手,改进现有开发模式下面向数据库操作问题的一个种全新体系架构.它的出现,解决了面向对象开发中由数据库操作引起的先天性的瓶颈,使得面向对象和数据库完美结合. 程序 ...

  8. 用户SA登陆失败 | VS三层架构web项目的创建

    文章目录 三层架构内容说明 使用ASP.NET三层架构创建web项目 1. **创建一个空的解决方案** 2. **创建web空网站**----表示层 3. **创建.BLL和.DAL类库文件** 4 ...

  9. 一步一步学Linq to sql(十):分层构架的例子

    项目介绍 这节将要把<一步一步学Linq to sql(三):增删改>中留言簿的例子修改为使用WCF的多层构架.我们将会建立以下项目: l         A,网站项目 WebSite:留 ...

最新文章

  1. linux哪些文件被更新,Linux:如何確定文件是否已被其他進程更新?
  2. TIME_WAIT和CLOSE_WAIT状态
  3. SSM中通过okhttp3向接口发送xml格式的请求参数
  4. Hibernate一级缓存常用API
  5. Python tutor 简介
  6. 灰度值取值范围_第三章 灰度变换与空间滤波-(三)直方图之直方图均衡
  7. java自动化执行javascript,Js代码执行__实现自动化
  8. mybaties :required string parameter ‘XXX‘is not present
  9. 中国基于散射的光学传感器行业市场供需与战略研究报告
  10. 拼多多否认对极兔快递“政策倾斜”;86版西游记“红孩儿”成中科院博士;AirTag遭破解 | 极客头条...
  11. Redis主从复制知识点
  12. 第一次发现国产剧能这么“好笑”,谢谢您嘞!!
  13. 小米造富神话虚实:平均年薪16万 470亿元期权咋分
  14. word多级标题下一级和上一级没有关联上
  15. php 博饼 源代码,php实现中秋博饼小游戏
  16. Mac环境安装Win虚拟机
  17. 三星S5P6818开发板 (ARM Cortex-A53架构)
  18. 通过js实现图片爆炸特效
  19. android系统 备份恢复,Android系统备份及系统还原方法介绍
  20. Win10 无线网络802.1X认证 PEAP问题

热门文章

  1. 拖动内容,滚动条滚动,横向
  2. [Everyday Mathematics]20150225
  3. 【Linux查看tomcat版本】
  4. JS 语法糖 0 —— 解构
  5. C++ typename 的双重含义
  6. 跟着开涛springmvc学习(转)
  7. SQL语言之关系运算与多表操作(五)
  8. https://leetcode.com/problems/palindromic-substrings/description/
  9. js jquery 判断元素是否在数组内
  10. tomcat的acceptCount、maxThreads、connectionTimeout参数调整