- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在net 35 平台上使用linq to sql创建三层多层web应用系统
在新的.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 层( HYPERLINK / EntL 开源小组注: 原文说还需要引用业务外观(Business Facade)层,原文有误)。
(2) 业务外观(Business Facade)层引用Data Linq 层和数据访问层,因为业务外观层使用Data Linq层的业务实体来创建表实体(后面进行详细讨论),同时调用数据访问层的方法。(3) 表现层引用Data Linq层和业务外观层。
LINQ to SQL
LINQ to SQL 提供了访问数据库的方法,且允许我们做所有数据库相关的操作,如查询、插入、更新和删除。LINQ to SQL消除了写存储过程和从数据访问层调用的过程,它可以在运行的时候自动生成合适的SQL脚本来进行数据库操作。在Visual studio中,你可以通过使用Add New Item 增加LINQ to SQL文件到项目中。下图1.4是Northwind数据库在Object Relational Designer 中的显示( HYPERLINK / EntL 开源小组注:原文采用SampleDB数据库,这里我们采用Northwind 范例数据库)。当保存该文件时,LINQ to SQL自动创建一个CS文件或VB文件 – 用来访问数据库的DataContext类,还为设计器中的表创建一些必要的实体类。在设计器中的每一个表均有一个对应的实体类。
设计器中的表包含所有的数据库属性,包括表关系。设计器中的箭头标识表示数据库表的主键/外键关系。
HYPERLINK / EntL 开源小组注:这里我们创建C# 项目,而不是原文采用的VB项目,因此后续的示例代码全部为C#,原文为VB代码。
?
DataContext 类
Solution 中的每一个LINQ to SQL设计器将自动创建一个DataContext类,用来查询
您可能关注的文档
最近下载
- 初中七年级上册数学每日一练小纸条.pdf VIP
- 高考生物遗传简单题100道【附参考答案及详细解析过程】.pdf VIP
- 《高铁乘务》专业人才培养方案.docx VIP
- HES A1302-14 焊接螺栓材料选用标准--chs.pdf VIP
- 生日主题-精美红色员工生日派对PPT模板.pptx VIP
- 《黄河水滴灌泥沙逐级处理技术规程》DB15T 4180-2025(内蒙标准).pdf
- 《建设工程工程量清单计价规范》2024版与2013版逐条对比.pdf VIP
- 2024新人教版英语七年级上单词表(小学部分)(英译汉).docx VIP
- 空气源热泵冷暖空调、热水项目施工方案.docx VIP
- 大学生网购电子产品影响因素研究.docx VIP
文档评论(0)