gpt4 book ai didi

linq - 如何动态地在linq中制定以下查询

转载 作者:行者123 更新时间:2023-12-01 15:15:14 25 4
gpt4 key购买 nike

我想制定 1) 动态查询,如 2) 所示

1)

Select col1, Sum(col2)
from t1
where col3 = 1
and co11 between '01 jan 2009' and '31 dec 2013'
group by co11

2)我想在 2012 年将上面的公式表述如下(linq to entity)

 " select "+ @selectclause + " from t1  where " + whereclause

有人建议我,上面的查询可以用 http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx 来表达

任何机构都可以使用 System.linq.DynamicSystem.Linq.Expression 来制定它吗?由于时间不够,我无法做到这一点。

我正在尝试使用 System.Linq.dynamic

var var1 = context.table1.Where(strWhereClause)
.Where(i => i.co11 >= dtDateFrom && i.co11 <= dtDateTo).GroupBy("new(" + varGroupBy + ")").Select("new(" + varAggregateCol + ")");

如果我的一堆查询可以用 System.Linq.Expression 来表达,请告诉我那么我应该使用 System.Linq.Dynamic 还是应该优先使用 System.Linq.Expression

真诚的

最佳答案

这是一个例子:

var query = t1.Where("col3 = 1 AND col1 >= @0 AND col1 <= @1", dtDateFrom, dtDateTo)
.GroupBy("col1")
.Select(varAggregateCol)

虽然标准 Dynamic Linq 库只返回一个难以使用的 IQueryable,但我一直在维护一个更新的库 (https://www.nuget.org/packages/System.Linq.Dynamic.Library),它返回 IQueryable{dynamic}(假设您使用的是 .NET 4.0+),允许您可以轻松地动态访问生成的成员。

关于linq - 如何动态地在linq中制定以下查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20933611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com