LINQ 是.NET Framework 3.5中新增的功能。它是一个集成到语言中的特性。有了它,我们可以很容易的对数据进行查询。对于一般人来说,关注较多的是LINQ-SQL,它是.NET中比较好用的一个ORM tool。
好了,进入正题。平常我们在写LINQ查询的时候,使用的是强类型,也就是说,在编译时LINQ就可以为我们来检查类型是否匹配,这样可以避免很多runtime时类型不匹配的危险。也正因为如此,我们在写LINQ查询语句时并没有写SQL语句那样"方便"(代价就是危险),尤其当我们有许多动态filters的时候,写在LINQ语句中更是麻烦。
现在我们可以使用Dynamic Query Library来解决这个问题。它定义了一些扩展方法使得我们可以直接用string expression来达到condtion-Where以及sort-Orderby的目的(以前都是需要用LINQ expression)。如:
DataClasses1DataContext ctx = new DataClasses1DataContext();
var query = ctx.tests.Where("id>@0 and id<@1", 5, 10).Select("new(id)");
这样是不是更加方便了呢 :)
LINQ Dynamic Query Library用法如下:
1) 下载Library
2) 以C#为例,将DynamicQuery文件夹中的Dynamic源文件copy至你的项目中。
3) 添加"using System.Linq.Dynamic;"命名空间,这样你就可以使用它了。
Have a Happy day!