How to use ToShortDateString in linq lambda expression?

前端 未结 4 1503
眼角桃花
眼角桃花 2020-12-07 01:16

I need to call ToShortDateString in a linq query suing lambda expressions:

toRet.Notification = Repositories
    .portalDb.portal_notifications.OrderByDescen         


        
4条回答
  •  春和景丽
    2020-12-07 02:05

    You shouldn't be forcing a string comparison when what you're working with is Date/time data - as soon as you force string comparisons, you're suddenly having to deal with how the strings are formatted.

    Instead, have something like:

    var endDate = targetDate.AddDays(1);
    
    toRet.Notification = Repositories
    .portalDb.portal_notifications.OrderByDescending(p =>       p.id)
    .FirstOrDefault(p => p.date >= targetDate && p.date < endDate);
    

    (Assuming that targetDate is whatever DateTime variable you had that was used to produce shortDateString in your code, and is already a DateTime with no time value)

提交回复
热议问题