VS2008里面有个神奇的东西,称之为LINQ,可以透过相同的语法方式来处理各式各样的数据(SQL,XML,Object,...),小喵此次初体验感受一下这个东西,真的很好用,初体验来做个简单的测试,请看小喵娓娓道来
VS2008里面有个神奇的东西,称之为LINQ,可以透过相同的语法方式来处理各式各样的数据(SQL,XML,Object,...),小喵此次初体验感受一下这个东西,真的很好用,初体验来做个简单的测试,请看小喵娓娓道来
先来看一张LINQ的架构图(数据来源:曹祖圣老师在TechEd2007的简报)
要看完整的请点选上面的图档,从这张图来看LINQ可以用来取得相当多的数据,而只要数据能够用程Object的形式,就能够透过LINQ来存取
接着就开始这次的初体验
先说明一下小喵要做的:小喵弄个座位表格,分别有--SeatId(座位代号),SeatName(座位名称)
然后产生测试数据200个座位数据,SeatName(座位名称)用随机数产生a-z的字母加上SeatId当作是座位名称,最后用个界面来测试使用LINQ筛选数据(找字头相同的)
这样的题目以前小喵在ASP都是用二维数组来做,在.NET里面则是可以用对象的方式取代二为数组
先建立座位的对象如下:
接着设计划面如下
产生的数据放在GridView1,筛选后的数据放在GridView2
接着撰写产生数据的部分
然后就是我们的重点来了,在这些数据中,想要找SeatName(座位名称)a开头的数据,以前小喵可能会用个循环逐笔查,但是有了LINQ,就可以写成以下这样
各位可以发现,用这样超短的程序就能够做到筛选。真是太好了
熟悉T-SQL的朋友,您接着就可以想像以前T-SQL里面的Grou By,Distinct,Order By等等都可以再对象里面玩,甚至可以透过JOIN,把不同的对象数据作关联之后来取数据。真是神奇啊。
这次的初体验只是约略的感受一下LINQ的威力,此次的例子只是两个字段,一个条件的筛选,各位可以试想一下,如果应用在很多字段,并且结合其他的数据(LINQ可以使用JOIN)并且使用多重条件的筛选,那么可以节省多少的程序就能够达到相同的目的。未来有其他的测试再与大家分享。
^_^
以下是签名:
- 欢迎转贴本站的文章,不过请在贴文主旨上加上【转贴】,并在文章中附上本篇的超链接与站名【topcat姗舞之间的极度凝聚】,感恩大家的配合。
- 小喵大部分的文章会以小喵熟悉的语言VB.NET撰写,如果您需要C#的Code,也许您可以试着用线上的工具进行转换,这里提供几个参考
- http://converter.telerik.com/
- http://www.carlosag.net/tools/codetranslator/
- http://www.developerfusion.com/tools/convert/vb-to-csharp/
|
topcat |
原文:大专栏 LINQ to Object初体验(使用对象取代二维数组作数据筛选)