大佬教程收集整理的这篇文章主要介绍了c# – Linq查询过去7天的日期的不同值,运行查询时抛出异常,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
var users = context.employees.ToList() .SELEct(employee => new KeyValuePair<int,String>(Employee.id,employee.Name));
那部分工作正常,我的问题是有另一个表考勤设置外键并且有一个字段LoginDate是一个datetiR_748_11845@e值.用户可以多次登录,因此我希望获得用户在过去7天内登录的次数的不同值.
foreach (var user in users) { var days = context.Attendances.Where(x => x.Id == user.Key && x.LoginDate.Date > datetiR_748_11845@e.Now.AddDays(-7)).DisTinct().ToList(); int count = days.Count(); _attendanCETable.Rows.Add(user.Key,user.Value,count); }
我在运行Attendance表的查询时遇到异常:
var date = datetiR_748_11845@e.Now.AddDays(-7).Date; // I think you need date only here var query = from e in context.employees join a in context.Attendances on e.Id equals a.Id into g SELEct new { e.Id,e.Name,Count = g.Where(x => x.LoginDate > datE) .GroupBy(x = > new { x.LoginDate.Year,x.LoginDate.Month,x.LoginDate.Day }).Count() }; foreach(var user in query) _attendanCETable.Rows.Add(user.Id,user.Name,user.Count);
EntityFramework也不支持datetiR_748_11845@e的Date属性.您应该使用匿名对象按日期部分对考勤进行分组.
SELECT [Extent1].[Id] AS [Id],[Extent1].[Name] AS [Name],(SELECT count(1) AS [A1] FROM ( SELECT DISTinCT DATEPART (year,[Extent2].[LoginDate]) AS [C1],DATEPART (month,[Extent2].[LoginDate]) AS [C2],DATEPART (day,FROM [dbo].[Attendances] AS [Extent2] WHERE [Extent1].[Id] = [Extent2].[Id] ) AS [DisTinct1]) AS [C1] FROM [dbo].[employees] AS [Extent1]
以上是大佬教程为你收集整理的c# – Linq查询过去7天的日期的不同值,运行查询时抛出异常全部内容,希望文章能够帮你解决c# – Linq查询过去7天的日期的不同值,运行查询时抛出异常所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。