Динамическая дата и время Linq, где

я использую динамический 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'

Я пытался разобрать его разными способами, но ничего не работает...

спасибо мики


person MIkCode    schedule 24.10.2012    source источник


Ответы (1)


Предполагая, что ваши результаты имеют столбец DateTime

var z = queryResults
            .Where(result => result.DateTime >= sr.FromDate)
            .ToDictionary(g => g.FirstOrDefault().ServiceInstanceId, g => g.ToList());
person awright18    schedule 24.10.2012
comment
я должен использовать динамическую библиотеку linq weblogs.asp.net/scottgu/archive/2008/01/07/ - person MIkCode; 24.10.2012
comment
@MIkCode почему? Вы не получаете никакой выгоды от этого в этом точном сценарии. Вам нужно динамически изменить имя столбца или что-то в этом роде? Если не; не используйте его, потому что он вам не нужен. - person Doctor Jones; 24.10.2012