Какой правильный синтаксис eSQL для сравнения дат?
Эквивалентное выражение LINQ-to-Entities будет выглядеть примерно так:
var lastYearsShipments = from p in MyDataServiceContext.Products where p.ShipDate.Value.Year == DateTime.Now.Year - 1 select p;
Они говорят, что приемлемо ответить на ваш собственный вопрос , так что вот так ...
var predicate = string.Format( "Year(it.ShipDate) == Year(cast('{0}' as System.DateTime)) -1", System.DateTime.Now); var lastYearsShipments = myQuery.Products.Where(predicate); // myQuery is type ObjectQuery<T>
См. Также: Документация MSDN
string datetimeFormatter = "yyyy-MM-dd HH:mm"; var predicate = string.Format("Year(it.ShipDate) == Year(DATETIME'{0}')) -1", System.DateTime.Now.ToString(datetimeFormatter)); var lastYearsShipments = myQuery.Products.Where(predicate);