我有一些困难,从创建一个基于字符串的λ-LINQ表达式。 下面是我用这个样本对象/类的基本情况:
public class MockClass
{
public string CreateBy { get; set; }
}
基本上我需要一个字符串转换是这样的:
string stringToConvert = “x => x.CreateBy.Equals(filter.Value, StringComparison.OrdinalIgnoreCase”;
成的谓词/ LINQ表达式:
System.Linq.Expressions.Expression<Func<T, bool>> or in this example
System.Linq.Expressions.Expression<Func<MockClass, bool>>
所以,它相当于下面的方法在哪里内部的LINQ表达式:
query = query.Where(x => x.CreateBy.Equals(filter.Value,
StringComparison.OrdinalIgnoreCase));
我使用下面的助手尝试,但似乎无法弄清楚如何让他们在这种情况下,我希望能够建立从字符串LINQ表达式未事先知道工作: HTTP: //www.albahari.com/nutshell/predicatebuilder.aspx
http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx (它现在可作为NuGet包作为还有所谓的“DynamicQuery”)