Я хочу проверить 1-дневную созданную запись (и), и ниже мой код. моя проблема в том, что он возвращает любую запись, даже если у меня есть совпадение.
И даже я запускаю его на LinqPad, он просто выводит пустой результат.
from x in Users
where (DateTime.Today - x.CreatedDate).ToString().Equals("1.00:00:00")
select x
но когда я пытаюсь удалить "где"
from x in Users
select x
здесь может быть результат ниже, как вы можете видеть, есть 1 совпадения:
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/6/2009 12:00:00 AM | Result : 1.00:00:00 | Condition : True
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/7/2009 12:00:00 AM | Result : 00:00:00 | Condition : False
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/7/2009 12:00:00 AM | Result : 00:00:00 | Condition : False
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/7/2009 12:00:00 AM | Result : 00:00:00 | Condition : False
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/7/2009 12:00:00 AM | Result : 00:00:00 | Condition : False
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/7/2009 12:00:00 AM | Result : 00:00:00 | Condition : False
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/7/2009 12:00:00 AM | Result : 00:00:00 | Condition : False
ToDay : 8/7/2009 12:00:00 AM | CreatedDate : 8/7/2009 12:00:00 AM | Result : 00:00:00 | Condition : False
NUnit.Framework.AssertionException: Expected: greater than 0
But was: 0
Я запускаю это в IQueryable, AddDays и другие не поддерживаются, хотя некоторые посты ниже будут работать на LinqPad, но все еще не поддерживаются IQueryable на c #.
Так может быть решение:
IList<Users> users = new List<Users>();
var qry = from x in Users
select x;
foreach(user in qry)
{
if(!DateTime.Today - x.CreatedDate).ToString().Equals("1.00:00:00")) continue;
users.Add(user);
}
..