【发布时间】:2012-10-24 09:16:58
【问题描述】:
我使用动态 linq 来构建查询,但我遇到了 DateTime
的问题queryResults- 包含上一个查询的结果列表。
sr.FromDate- 一个日期时间参数
我想要做的是获得大于等于 sr.FromDate 参数的所有结果
var z = queryResults
.Where("Min(Datetime) >= @0", sr.FromDate)
.ToDictionary(g => g.FirstOrDefault().ServiceInstanceId, g => g.ToList());
例外:
ParseError , '.' or '(' expected
编辑:
只是为了澄清我们使用动态 linq SR 对象包含字符串 int 和日期参数 如果参数的值不是 null 我正在构建查询
编辑 2
我发现了我的 privus 问题,但现在我遇到了另一个问题,我正在使用它来构建查询
private static string GetQueryTemplet(string criteria)
{
switch (criteria)
{
case "FromDate":
return " Min(Track.Datetime) >= {0} ";
case "ToDate":
return " Max(Track.Datetime) <= {0} ";
default:
return "";
}
比我将数据传递给
var z = queryResolts
.Where(query)
.ToDictionary(g => g.Key, g => g.Select(h => h.Track));
由于某种原因我得到了这个异常
Operator '>=' incompatible with operand types 'DateTime' and 'Int32'
我试图以多种方式解析它,但没有任何效果......
谢谢 三木
【问题讨论】:
标签: c# linq dynamic-linq