LINQ完美之两大终极利器
LINQ完美之第一大利器-----Dynamic.cs------[下载地址:https://files.cnblogs.com/worksguo/DynamicQuery.rar]
LINQ没了动态,将只能使用拙劣的ExecuteQuery()和ExecuteCommand()进行传统的拼接字符串,毫无LINQ的幽雅和Lambda的艺术可言。
Dynamic.cs让LINQ想怎么拼就怎么拼,随意性可以覆盖几乎所有常用的SQL语句,而且不会破坏Lambda的结构性。
举个例:
我们要查询新闻ID大于等于100,并且发表时间在两个时间段之间的记录通常的Lambda写法如下,这样的写法是确定性的,列名如NewsID和PostTime都必须确定。
IQueryable<News> news1 = LQDC.News.Where(X => X.NewsID >= 100).OrderByDescending(X => X.PostTime >=datetime1.Date && X.PostTime <datetime2.Date);
但是当using System.Linq.Dynamic;后就可以按下面的写法了:
IQueryable<News> news1 = LQDC.News.Where(item1 + ">=@1", value1).OrderByDescending(item2 + ">=@0 and " + item2 + "<@1", datetime1.Date, datetime2.Date);
其中赋值item1="NewsID";value1=100;item2="PostTime";
是不是有了发射的感觉了,是否感受到了LINQ动态与艺术的完美结合啦?嘿嘿
LINQ完美之第二大利器-----LINQPad------[下载地址:http://www.linqpad.net/]
用它可以很好的学习LINQ查询语句及Lambda表达式,两者效果是一样的,只是写法不同,Lambda连续性极强而且代码相当优美,是我所崇拜的程序的艺术,强烈推荐使用。
那么我们该如何使用LINQPad呢?很简单。下载下来后直接打开,然后界面左边有个Add connection
接下来点击它就可以连接到你目前的SQL服务器了:
接下来就可以在右边写查询语句啦:嘿嘿
大家看见下面了的 Results 人 SQL了吧。可以切换成人来看Lambda表达式:
真是太方便啦!嘿嘿有了这两大利器,用LINQ开发中小型完美系统或网站都是一个不错的选择哦,高效率,高速度!
浙公网安备 33010602011771号