我有BinaryTree<Student>
反序列化的学生
和linq查询:
var students = DeserializedStudents.OrderBy(testResult => testResult.Test_Result).
Select(cust => new { name = cust.Name, result = cust.Test_Result });
有人可以告诉我如何构建一个与此查询相同的表达式吗?
答案 0 :(得分:2)
使用复杂的表达式,您可以作弊并查看编译器的作用:
Expression<Func<IEnumerable<Student>, IEnumerable<Student>>> expression =
query => query
.OrderBy(testResult => testResult.Test_Result)
.Select(cust => new { name = cust.Name, result = cust.Test_Result });
只需查看调试器中的expression
即可。
BTW,LINQPad对此非常有帮助。
答案 1 :(得分:1)
您可以使用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;
答案 2 :(得分:0)
喜欢这个?:
var students = from cust in DeserializedStudents
orderby cust.Test_Result
select new { name = cust.name, result = cust.Test_Result };