Asp.net mvc 将带有日期的SQL语句转换为Linq到SQL以便与EF4一起使用
我有以下SQL命令:Asp.net mvc 将带有日期的SQL语句转换为Linq到SQL以便与EF4一起使用,asp.net-mvc,linq-to-sql,entity-framework-4,Asp.net Mvc,Linq To Sql,Entity Framework 4,我有以下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语句,但是在使用datetime类型时,我会根据我如何尝试解决问题而得到各种错误 方法: var resul
SELECT CONVERT(varchar, Logged, 103) AS Visited, COUNT(ID) AS Totals
FROM tblStats
GROUP BY CONVERT(varchar, Logged, 103)
ORDER BY Visited DESC
我想将其转换为可以与实体框架一起使用的L2S语句,但是在使用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() };
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实体无法识别
“System.String ToString()方法”
方法,并且此方法不能为空
翻译成商店表达式
方法:
var results = from s in db.Stats
group s by (s.Logged.Date.ToString()) into Grp
select new { Day = Grp.Key, Total = Grp.Count() };
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实体中不支持。
仅初始值设定项、实体成员和
实体导航属性为
支持
我需要什么语法才能使查询正常工作?尝试使用以下方法:
尝试使用以下方法:
您是否需要
s.Logged.Date
中的Date
部分
你试过这个吗:
var results = from s in db.Stats
group s by (s.Logged) into Grp
select new { Day = Grp.Key, Total = Grp.Count() };
我假设Logged
是属性(表中的列)
编辑:你们真快。你们需要
s.Logged.Date
中的Date
部分吗
你试过这个吗:
var results = from s in db.Stats
group s by (s.Logged) into Grp
select new { Day = Grp.Key, Total = Grp.Count() };
我假设Logged
是属性(表中的列)
编辑:你们太快了。这就是问题所在!谢谢现在我有一个不同的问题,但我将为此设置一个新问题。这就是问题所在!谢谢现在我有一个不同的问题,但我将为此设置一个新问题。如果您不使用
日期
部分,则您将按完整日期时间(包括时间部分)分组。如果您不使用日期
部分,则您将按完整日期时间(包括时间部分)分组。