LINQ C#构建匿名类型的表达式
我有LINQ C#构建匿名类型的表达式,c#,linq,lambda,expression,C#,Linq,Lambda,Expression,我有BinaryTree反序列化的学生 和linq查询: var students = DeserializedStudents.OrderBy(testResult => testResult.Test_Result). Select(cust => new { name = cust.Name, result = cust.Test_Result }); 有人能告诉我如何构建与此查询相等的表达式吗?像这样 var students = from cust in Deserial
BinaryTree
反序列化的学生
和linq查询:
var students = DeserializedStudents.OrderBy(testResult => testResult.Test_Result).
Select(cust => new { name = cust.Name, result = cust.Test_Result });
有人能告诉我如何构建与此查询相等的表达式吗?像这样
var students = from cust in DeserializedStudents
orderby cust.Test_Result
select new { name = cust.name, result = cust.Test_Result };
对于复杂表达式,您可以作弊并查看编译器的功能:
Expression<Func<IEnumerable<Student>, IEnumerable<Student>>> expression =
query => query
.OrderBy(testResult => testResult.Test_Result)
.Select(cust => new { name = cust.Name, result = cust.Test_Result });
表达式=
query=>query
.OrderBy(testResult=>testResult.Test\u结果)
.Select(cust=>new{name=cust.name,result=cust.Test\u result});
只需在调试器中查看表达式
顺便说一句,这非常有用。您可以使用
IQueryable
接口实现基于LinQ
自动构建表达式:
var query = DeserializedStudents.AsQueryable()
.OrderBy(testResult => testResult.Test_Result)
.Select(cust => new { name = cust.Name, result = cust.Test_Result });
var expression = query.Expression;
定义表达式?还有,cust
来自哪里?他可能在谈论