Я использую Dynamic linq для предоставления моему приложению MVC данных, и у меня проблемы с полями DateTime.
Объекты, которые я анализирую, имеют поле System.Datetime, и я хочу проверить, соответствуют ли даты.
Итак, я пытаюсь построить строку следующим образом (я анализирую динамический словарь, чтобы получить данные):
string dateToParse = keyValuePair.Value;
DateTime objDate = DateTime.Parse(dateToParse);
valuesToUse.Add("OBJ_DATE.Date == " + objDate.ToShortDateString());
И когда я загружаю данные, я делаю это так:
var objQry = from pl in m_Db.OBJS.Where(whereConditions)
select pl;
Переменная whereConditions
— это строка, которую я создаю, когда у меня есть все данные.
Но когда данные попадают в поле даты и времени, приложение вылетает со следующей инструкцией:
Operator '==' incompatible with operand types 'DateTime' and 'Int32'
Как проверить поле DateTime с помощью динамического Linq? Я пробовал много вариантов, например, поставить objDate без ToShortDateString, но с тем же эффектом.
РЕДАКТИРОВАТЬ:
"OBJ_DATE.Date == 2012.01.01", например