У меня есть следующая команда SQL:
SELECT CONVERT(varchar, Logged, 103) AS Visited, COUNT(ID) AS Totals
FROM tblStats
GROUP BY CONVERT(varchar, Logged, 103)
ORDER BY Visited DESC
Я хочу перевести это в оператор L2S, который можно использовать с Entity Framework, но при работе с типами datetime я получаю различные ошибки в зависимости от того, как я пытаюсь атаковать проблему.
Подход:
var results = from s in db.Stats
group s by (s.Logged.Date.ToString()) into Grp
select new { Day = Grp.Key, Total = Grp.Count() };
Ошибка:
LINQ to Entities не распознает
метод 'System.String ToString ()'
метод, и этот метод не может быть
переведено в магазинное выражение.
Подход:
var results = from s in db.Stats
group s by (s.Logged.Date) into Grp
select new { Day = Grp.Key, Total = Grp.Count() };
Ошибка:
Указанный тип члена «Дата»
не поддерживается в LINQ to Entities.
Только инициализаторы, члены сущности и
свойства навигации объекта
поддерживается.
Какой синтаксис мне нужен, чтобы запрос работал?