LINQ to Entities选择具有表达式参数的列 [英] LINQ to Entities select columns with expression parameter

查看:64
本文介绍了LINQ to Entities选择具有表达式参数的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法确定如何通过将表达式指定为参数来选择可查询的列.

I cannot wrap my head around how i manage to select columns in a queryable by specifying an expression as a parameter.

Method A(IQueryable<Order> query)

内部方法A我想指定要选择的列,所以我不会马上得到所有列,就像这样:

Inside Method A i want to specify which columns to select, so i dont get all columns right away, like this:

query.Select(x => new { x.OrderNumber, x.Payment, x.Customer })

如果我直接在方法A中指定它,这很容易,但是我想使用参数传递信息. 我尝试使用这样的表达式:

This is easy if i specify this directly in Method A, but i want to pass the information using a parameter. I tried using a expression like this:

Expression<Func<Order, dynamic>> columns

但是我无法使它正常工作,因为我只能指定一个列,在其中调用方法A,如下所示:

But i can't get it to work, since i can only specify one columns, where i call Method A, like this:

MethodA(query, (x) => x.OrderNumber);

如何指定多个属性?

推荐答案

我找到了解决方案. 我只需要指定这样的匿名类型:

I found the solution. I simply had to specify an anonymous type like this:

MethodA(query, order => new { order.OrderNumber, order.Payment })

现在我可以通过其他方法传递我的Select表达式.

Now i can pass in my Select expression from other methods.

这篇关于LINQ to Entities选择具有表达式参数的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆