я использую динамический linq для создания запроса, и у меня проблема с DateTime
queryResults — содержит список результатов предыдущего запроса.
sr.FromDate — параметр DateTime
что я пытаюсь сделать, так это получить все результаты, которые больше и равны параметру 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 и date, если значения параметров не равны нулю при построении запроса
ИЗМЕНИТЬ 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'
Я пытался разобрать его разными способами, но ничего не работает...
спасибо мики