我正在尝试在MVC视图中显示与服务的分组连接数。
我遇到的问题是,当我尝试检查为了分页目的而返回了多少项时,我得到一个System.NotSupportedException
指定的类型成员'日期' LINQ to Entities不支持。仅支持初始化程序,实体成员和实体导航属性。
这是我的IQueryable方法
private IQueryable<ConnectionItem> ListItems(DataContext dataContext)
{
return
from conn in dataContext.Connections
join cfg in dataContext.Configurations on conn.ConfigID equals cfg.ConfigID
join u in dataContext.Users on cfg.UserID equals u.UserID
where conn.Successful && u.AccountEventID == 123
group 1 by conn.CreatedDate.Date into g
select new ConnectionItem
{
CreatedDate = g.Key,
NumberOfConnections = g.Count(),
};
}
这是ConnectionItem
public class ConnectionItem
{
public DateTime CreatedDate { get; set; }
public int NumberOfConnections { get; set; }
}
我称之为:
var items = ListItems(dataContext);
var total = items.Count() // this causes the exception
我的最终结果应该是日期的集合,例如2017-01-10以及当天的连接数。
答案 0 :(得分:2)
如果您想要截断时间,请使用DbFunctions.TruncateTime
方法:
"C:\My_Stuff\Program_Files\Anaconda3\pythonw.exe" -E -s "C:\My_Stuff\Program_Files\Anaconda3\Lib\_nsis.py" addpath
"C:\My_Stuff\Program_Files\Anaconda3\pythonw.exe" -E -s "C:\My_Stuff\Program_Files\Anaconda3\Lib\_nsis.py" mkdirs
"C:\My_Stuff\Program_Files\Anaconda3\pythonw.exe" -E -s "C:\My_Stuff\Program_Files\Anaconda3\Lib\_nsis.py" mkmenus