来自查询的动态linq / lambda表达式

时间:2013-09-16 06:38:34

标签: linq lambda

我有数据查询,想要创建动态linq/lambda表达式,我可以在entity collection上运行。不确定如何使用表达式构建器执行此操作。如果可能的话,请提供一些例子。

例如,我有查询

  

从person.name ='Joe'

的人中选择person.name,person.surname

我有所有人的实体集合。但是不想激发查询而是想将此查询转换为lambda并在人员集合上运行。这样可以避免服务器调用。

linq/lambda表达式

  

来自person.id ='Joe'select person.name;

的人

2 个答案:

答案 0 :(得分:0)

最好使用方法语法而不是查询语法 例如,而不是来自person.Name ==“Test”的人的人 使用People.Where(person => person.Name ==“Test”);

然后你可以添加对Mono.CSharp.DLL的引用,然后使用Evaluator类轻松地编译和运行C#代码,而不会过多地降低性能。

然后用C#字符串编译并运行LINQ查询,并使用Evaluator调用该字符串。

您也可以使用eval函数在JavaScript代码中看到此方法。

如果需要其他信息,请告诉我

祝你好运

答案 1 :(得分:0)

LINQ

var xxx = from p in person 
          where p.Name equals "Joe"
          select p;

的Lamda

 var lambda = Person.Where(m=> m.Name == "Joe");

对于教程

MSDN 101 LINQ

MSDN

Lambda