程序-资料-LINQ入门

程序-资料-LINQ入门

ID:40732121

大小:433.00 KB

页数:17页

时间:2019-08-06

程序-资料-LINQ入门_第1页
程序-资料-LINQ入门_第2页
程序-资料-LINQ入门_第3页
程序-资料-LINQ入门_第4页
程序-资料-LINQ入门_第5页
资源描述:

《程序-资料-LINQ入门》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、最近接连遇到几个朋友问我同一个问题,就是关于.NET平台上ORM框架的选择。我想在这个讲求效率的时代,谁也不想手写SQL或存储过程去访问数据库了。大家都知道,在Java平台上,ORM这一块基本是Hibernate的天下。当然,相对轻量级的iBatis也有不错的表现。不过谈到.NET平台,ORM框架似乎相对混乱了点。很多朋友问我的时候,往往会这样问:NHibernate、NBear和Castle该选择哪个?而当我反问:为什么不适用微软自带的LinqtoSQL呢?对方经常会迷茫和不解。我觉得这是个很奇怪的现象。依照我个

2、人的实践,我认为当需要快速构建一个中小型项目时,LinqtoSQL是一个很好的选择。你至少有以下理由可以选择它:i.它是微软自己的产品,和.NET平台有着天生的适应性。如果你使用.NETFramework3.5和VS2008开发环境,它本身就集成在里面了,同时VS2008对于LinqtoSQL给予了诸多方便的支持。使用它,你不仅在开发和部署时不用考虑第三方库,更可以尽情享受VS2008带来的种种方便。ii.上手十分容易,使用十分轻松,通常,你不需要编写一行代码,也不用写任何XML配置,完全通过可视化拖拽就能完成OR

3、M层的构建。iii.功能丰富,使用便捷。当轻松构建好ORM层后,你就可以更轻松的操纵数据库了。LinqtoSQL提供了丰富的功能,完全可以满足日常数据访问的需求。使用方法也非常简单、灵活。有这么好的理由,我真想不通为什么那么多人不愿去选择它。我想来想去,也许有两个重要原因,一是把LINQ和LinqtoSQL混为一谈了,二是受前段时间“LINQ已死”的误导,觉得微软已经抛弃LinqtoSQL了。关于这两点,我就不细说了,简略澄清一下:首先,LINQ是从.NETFramework3.0开始,.NET平台上引入的一种新式

4、语言特性,狭义一点,你可以讲它理解成一种新式语法,主要是针对迭代数据操作的,所以,也许LINQ叫做“数据迭代引擎(DataIterativeEngine)”更合适,之所以不着样命名,我想微软可能不愿意让自己产品的简写为“DIE”吧。:-)而LinqtoSQL是LINQ在数据库访问方面的一个应用框架,完全是两码事。其次,关于微软会不会放弃LinqtoSQL,客观说,可能会,因为微软下一步主推的ORM解决方案是EntityFramework。不过这并不妨碍你学习使用LinqtoSQL,原因如下:第一,考虑到兼容性问题,

5、微软绝对不会把LinqtoSQL从.NETFramework中拿掉的,所以你不用怕现在用LinqtoSQL写的程序以后不能运行了。第二,即使微软不更新LinqtoSQL了,但它现在的功能,已经足够满足我们日常需要了,相比重量级的EntityFramework,如果你只是做一个中小型项目,并且很注重开发效率和学习曲线,为什么不选择可爱的LinqtoSQL呢?好的,上面废话说了不少,下面正式开始吧。本文不是一篇关于LinqtoSQL的大百科,写本文的目的,是引导大家快速上手LinqtoSQL,所以不可能面面俱到去讲解L

6、inqtoSQL。不过根据80-20定律,学会了本文的内容,基本就可以应付80%的工作了。另外,延续我一贯的风格,本文将通过案例的方式帮大家上手LinqtoSQL。案例是一个“公告发布程序”。下面我们开始!Step1:建立数据库在使用LinqtoSQL前,我们要将相应的数据库建好。在这个Demo中,使用的数据库是SQLServerExpress2005。我们首先建立一个叫的数据库MyBulletin,及两个数据表:Category和Bulletin,分别表示公告的分类和公告,建立方法不再赘述。至于两个表的具体字段请

7、参看图1。图1、数据表结构其中Category和Bulletin存在一个一对多的关联,表示一个分类下可以有多条公告。Step2:建立LinqtoSQLClasses文件数据建好后,我们需要建立LinqtoSQLClasses文件。这种文件是LinqtoSQL框架的主要文件,后面自动生成的实体类和ORM代码都存在于这个文件中。我们打开VS2008,新建一个C#ClassLabrary工程,名称为LinqToSqlDemo.Orm,建好后在工程上单击右键,选择“Add”->“NewItem”,在文件类型中选择“Linq

8、toSQLClasses”,文件名命名为“DataClasses.dbml”,如图2所示。图2、新建LinqtoSQLClasses文件Step3:根据数据库表自动生成代码当建好LinqtoSQLClasses后,VS主界面中自动打开了这个文件。可以看到,这个文件实际是一个设计文件,目前还不包含任何代码和元素。下一步就是利用我们刚才的数据库自动生成ORM代码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。