【问题标题】:Is there a way to get the data by day name in entityframework有没有办法在实体框架中按日期名称获取数据
【发布时间】:2015-02-26 09:17:35
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案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 to entity:-

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

    【讨论】:

    • 感谢您的回复,,,,vs通过同样的错误“LINQ to entity不支持星期几”,,,,
    • 有点正确,但 DayOfWeek 尤其是“Sunday”仅在周日实际上是第 7 天且拼写为“Sunday”的 CultureInfo 下运行时才有效。
    • 再次感谢,请问应该如何解决,请您帮忙
    • 非常感谢您的努力,我正在相应地重新创建代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多