asp.net-mvc之如何使用 Linq 在 asp.net MVC 中获取两个日期之间的天数

lidabo 阅读:73 2025-01-19 22:14:33 评论:0

我需要使用 Linq 查询从数据库中获取两个日期之间的天数,请帮助我如何执行此操作。谢谢

我尝试了下面的代码,但它返回的结果是 nul!请帮忙

 DateTime rightNow = DateTime.Now; 
 
        //int totalDays = (from d in db.vuExpiredProjectsAssigned 
        //                 where d.AssignedTo==obj.DepartmentID 
        //                 select (d.AssignedDate - d.DueDate).Days).FirstOrDefault(); 
 
        //var numberdays = (from pd in db.vuExpiredProjectsAssigned 
        //                  where pd.AssignedTo == obj.DepartmentID 
        //                  select SqlFunctions.DateDiff("day", pd.AssignedDate, rightNow)); 
 
       var result =(from dd in db.vuExpiredProjectsAssigned 
                    where dd.AssignedTo==obj.DepartmentID 
                    select new 
                    { 
                        days=SqlFunctions.DateDiff("Day",dd.DueDate,rightNow) 
                    }); 
 
       ViewBag.ndays = result; 

请您参考如下方法:

Entity Framework 不支持 DateTime 算术。您必须使用 DbFunctions*。所以,对于你陈述的第一部分,是这样的:

var numberdays = ( from p in db.vuExpiredProjectsAssigned 
                     where p.AssignedTo == obj.DepartmentID 
                     select DbFunctions.DiffDays(p.AssignedDate,p.DueDate)); 

var numberdays = ( from p in db.vuExpiredProjectsAssigned 
                     where p.AssignedTo == obj.DepartmentID 
                     select SqlFunctions.DateDiff("day", p.AssignedDate, p.DueDate)); 

有关更多引用,请查看以下链接。

SqlFunctions Class

DbFunctions Class


标签:日期
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号