我正在使用动态 linq 来处理一些用户请求。它的设置方式是我将数据收集到 Var 数据中
var data = Project.Model.Adhoc.GetData().AsQueryable();
这基本上是从视图中选择 *
然后从那里我将遍历所有我必须过滤用户选择的选项
foreach (Filters filter in filters.OrderBy(x=>x.strOrderNumber))
{
连同一些检查和排列,我开始这样做
data = data.Where(filter.strFilter + FormatOperator(filter.strOperator) + "@0", filter.strValue).
Select(x => x).ToList().AsQueryable();
这工作得很好,但是数据源开始增长,所以我想做的是这样的:
data = data.select(get all items that were selected)
然后做我的检查和排列。这将允许我只提取需要的内容,而不是整个数据源。C# 中使用 linq 完成此任务的最佳方法是什么。
前任。
datasource = {Name, Age, Race, Gender, Hair Color, Eye Color, height, weight, etc}
user selected = {Name, Age, Race, Gender}
我不想查询整个数据源,而是想将数据源限制为仅由用户立即引入的数据源,然后我可以根据它作为数据源进行过滤