随笔分类 -  Linq

摘要:概述在.NET Framework 3.5中提供了LINQ 支持后,LINQ就以其强大而优雅的编程方式赢得了开发人员的喜爱,而各种LINQ Provider更是满天飞,如LINQ to NHibernate、LINQ to Google等,大有“一切皆LINQ”的趋势。LINQ本身也提供了很好的扩展性,使得我们可以轻松的编写属于自己的LINQ Provider。 本文为打造... 阅读全文
posted @ 2010-01-08 14:57 温景良(Jason) 阅读(764) 评论(0) 推荐(0) 编辑
摘要:概述在.NET Framework 3.5中提供了LINQ 支持后,LINQ就以其强大而优雅的编程方式赢得了开发人员的喜爱,而各种LINQ Provider更是满天飞,如LINQ to NHibernate、LINQ to Google等,大有“一切皆LINQ”的趋势。LINQ本身也提供了很好的扩展性,使得我们可以轻松的编写属于自己的LINQ Provider。 本文为打造... 阅读全文
posted @ 2010-01-08 14:56 温景良(Jason) 阅读(549) 评论(0) 推荐(0) 编辑
摘要:上回我们说到手工解析Expression Tree,以便获得其中的逻辑或者执行我们自定义的语义动作。这种做法扩展了C#语言的威力,让我们可以用C#的语法来做更多的事情,例如Linq to Sql。今天我们要学习一种相反的做法,手工创建表达式树,然后让.NET来解析它。这是一种强大的动态编程手段。我们可以用它来完成许多以前需要Reflection.Emit才能完成的任务。LambdaExpressi... 阅读全文
posted @ 2010-01-07 14:25 温景良(Jason) 阅读(527) 评论(0) 推荐(0) 编辑
摘要:上回我们说到Expression Tree是一种表示编程语言中“表达式”概念的树状数据结构,并且学习了从Lambda表达式自动生成表达式树的C#语法。那么它到底有什么用呢?其实上一回已经提到了Expression Tree的基本功能:分析表达式的逻辑、保存和传输表达式以及重新编译表达式。现在我们就分别来看这三项基本功能如何使用。分析表达式的逻辑表达式树中已经包含了表达式所需... 阅读全文
posted @ 2010-01-07 14:24 温景良(Jason) 阅读(385) 评论(0) 推荐(0) 编辑
摘要:大家可能都知道Expression Tree是.NET 3.5引入的新增功能。不少朋友们已经听说过这一特性,但还没来得及了解。看看博客园里的老赵等诸多牛人,将Expression Tree玩得眼花缭乱,是否常常觉得有点落伍了呢?其实Expression Tree是一个一点就透的特性,只要对其基本概念有了一定的了解,就可以自己发挥出无数的用法。特别是之前对Reflection,泛型等知识有过一些了解... 阅读全文
posted @ 2010-01-07 14:22 温景良(Jason) 阅读(453) 评论(0) 推荐(0) 编辑
摘要:本文笔者用清晰的实例,解决了Linq多条件问题,思路十分的清晰,笔者也很细心的做了描述,希望能给你带来帮助。最近有个项目准备功能改版,师兄吩咐:尽可能地做到万般皆Linq,所以很多东西都要从存储过程搬过来..昨天写评价功能的时候,碰到个Linq多条件叠加组合的问题,其需求如下:多种查询评价的条件:1.Linq多条件之查询类型:收到的评价_买家给我的评价,收到的评价_卖家给我的评价,给出的评价_我给... 阅读全文
posted @ 2009-12-08 14:42 温景良(Jason) 阅读(2727) 评论(1) 推荐(0) 编辑
摘要:linq动态排序不是很好实现的,很多开发者都在这个方面有疑惑,所以笔者今天分享一下自己的经验,希望能给大家带来帮助。想实现linq动态排序就是linq的order by 后跟动态的函数可以用委托实现,但是发现实现委托函数时候:inttestSelector(postp) { returnp.Uu; } 这个返回类型受到了限制仅是相同类型的字段可以动态排序是不是Func selector 这个的实现... 阅读全文
posted @ 2009-12-08 14:41 温景良(Jason) 阅读(2322) 评论(0) 推荐(0) 编辑
摘要:[代码]原文地址:http://www.cnblogs.com/wangshijie/archive/2009/05/09/1453340.html 阅读全文
posted @ 2009-05-09 19:44 温景良(Jason) 阅读(474) 评论(0) 推荐(0) 编辑
摘要:在实际的项目中,我们经常会碰到存储过程中需要使用sp_executesql语句的情形,如下:1IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'GetEmployeesByFilter')2 BEGIN3 DROP Procedure [GetEmployeesByFilter]4 END56GO78CREATE P... 阅读全文
posted @ 2009-05-07 19:45 温景良(Jason) 阅读(497) 评论(0) 推荐(0) 编辑
摘要:LINQ 的查询执行何时是延迟执行,何时是立即执行,以及查询的复用 延迟执行的经典例子: 我们用 select ++i 就可以看到在foreach 时候,查询才被执行。 public static void Linq99() { int[] numbers = new int[] { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; int i = 0; v... 阅读全文
posted @ 2008-10-28 22:56 温景良(Jason) 阅读(2973) 评论(1) 推荐(1) 编辑