Sql server 与实体框架中的数字表联接
我正在尝试使用Entity Framework和Linq to Entities编写一个查询,以获取表中事件的每日计数,用于绘制图表。问题是,我想返回一个完整的天数列表,即使没有可用的数据 我找到了一个建议使用a的答案,这基本上是有效的,但是我在左外连接方面遇到了问题(我认为我需要这样做) 此简单查询返回过去7天,包括今天:Sql server 与实体框架中的数字表联接,sql-server,linq,entity-framework,Sql Server,Linq,Entity Framework,我正在尝试使用Entity Framework和Linq to Entities编写一个查询,以获取表中事件的每日计数,用于绘制图表。问题是,我想返回一个完整的天数列表,即使没有可用的数据 我找到了一个建议使用a的答案,这基本上是有效的,但是我在左外连接方面遇到了问题(我认为我需要这样做) 此简单查询返回过去7天,包括今天: var foo = from n in Numbers where n.NumberId > 0 && n.NumberId <=
var foo = from n in Numbers
where n.NumberId > 0 && n.NumberId <= 7
let date = DbFunctions.AddDays(start, n.NumberId)
select date;
发布后不久,我就解决了这个问题。解决办法是:
var bar = from n in Numbers
where n.NumberId > 0 && n.NumberId <= 7
let date = DbFunctions.AddDays(start, n.NumberId)
join i in Incidents on EntityFunctions.TruncateTime(date) equals EntityFunctions.TruncateTime(i.IncidentDate) into days
select new {
date,
Count = days.Count()
};
var bar=从n开始,以数字表示
其中n.NumberId>0&&n.NumberId
Date | Count
-------------
3/26/2014 | 0
3/25/2014 | 10
3/24/2014 | 9
var bar = from n in Numbers
where n.NumberId > 0 && n.NumberId <= 7
let date = DbFunctions.AddDays(start, n.NumberId)
join i in Incidents on EntityFunctions.TruncateTime(date) equals EntityFunctions.TruncateTime(i.IncidentDate) into days
select new {
date,
Count = days.Count()
};