在C#4.0中使用字符串构建Linq查询 - 最佳实践

Hor*_*ter 7 linq dynamic c#-4.0

目前我正在使用LinqKit/Ms动态查询示例从字符串动态构建Linq表达式.这很好用.

  1. LinqKit:http://www.albahari.com/nutshell/linqkit.aspx
  2. Microsoft动态Linq查询:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

现在,我正在将我的应用程序从C#3.5迁移到C#4.0.我想知道是否有另一种方式(框架的标准方式)从字符串构建查询.

我检查了文档,但还没有找到任何内容.这也不是问题,因为我有上述解决方案.

只有我喜欢使用"标准"功能.什么是最佳做法?

Fab*_*ier 2

我目前正在做这样的事情,我对结果非常满意。我的方法是使用实​​体框架和 ObjectQuery.Select(string query, ObjectParameters[] params) 方法。更多信息请参见:http://msdn.microsoft.com/en-us/library/bb298787.aspx#Y586

您不会从字符串创建表达式,而是使用 SQL 到实体,它可以很好地完成工作,并且正是为此目的而制作的,因为动态创建表达式并不简单,而且实际上更慢。

干杯