有没有办法在entityframework中按日期名称获取数据

时间:2015-02-26 09:17:36

标签: asp.net-mvc linq asp.net-mvc-5 entity-framework-6 asp.net-mvc-5.1

我正在尝试编写代码以获取有关发布日期和日期的新闻,,,,,喜欢

             ViewBag.LatestNews = db.News
            .Where(ve => ve.PublishingDate >= DateTime.Now 
            && ve.IsActive == true);

根据要求,我得到的输出是正确的.... 我需要在DayOfWeek上过滤发布日期,让我们说"星期天" ... 如何编写带日期数的参数并过滤结果。 任何人请帮助.... 谢谢你的时间

1 个答案:

答案 0 :(得分:1)

试试这个: -

ViewBag.LatestNews = db.News
                       .Where(ve => (int)ve.PublishingDate.DayOfWeek == 7 
                                       && ve.IsActive == true);

或者: -

ViewBag.LatestNews = db.News
                       .Where(ve => ve.PublishingDate.DayOfWeek.ToString() == "Sunday" 
                                       && ve.IsActive == true);

修改
您可以将SqlFunctions.DatePart方法用于linq到实体: -

ViewBag.LatestNews = db.News
             .Where(ve => SqlFunctions.DatePart("dw", ve.PublishingDate) == "Sunday" 
                          && ve.IsActive == true);