数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

用LINQtoSQL创建Web应用系统(一)


发布日期:2020年07月06日
 
用LINQtoSQL创建Web应用系统(一)

在新的Net Framework 平台上Microsoft发布了LINQ(C# VBNet 集成语言查询(LanguageIntegrated Query)也就是通过编程语言来查询数据

*数据库 (LINQ to SQL)

*DataSet 数据集(LINQ to Dataset)

*XML文档 (LINQ to XML)

*实体对象 (LINK to Entities)

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

基于LINQ to SQL的NTier架构

架构思考

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

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

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

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

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

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

() 表现层引用Data Linq层和业务外观层

上一篇:三层Web体系结构里的两种数据绑定模式

下一篇:三种方法在Infopath中实现数据有效性验证