C# 从数据库中获取更晚的日期而不计算筛选的日期

C# 从数据库中获取更晚的日期而不计算筛选的日期,c#,asp.net,asp.net-mvc,entity-framework,linq,C#,Asp.net,Asp.net Mvc,Entity Framework,Linq,我试图通过下面的查询从数据库中获取“更大的”/“更晚的日期” 控制器 string str = "2019-10-27T20:44:55.323"; DateTime Date = Convert.ToDateTime(str); var List = (from a in dbcontext.system_notification where a.notification_date > Date select a).ToList(); 输出 我仍然从日期“2019-10-27T20

我试图通过下面的查询从数据库中获取“更大的”/“更晚的日期”

控制器

string str = "2019-10-27T20:44:55.323";
DateTime Date = Convert.ToDateTime(str);

var List = (from a in dbcontext.system_notification where a.notification_date  > Date select a).ToList();
输出

我仍然从日期“2019-10-27T20:44:55.323”中得到了结果。 由于我使用了“>”运算符,所以我只希望从给定的日期中获取较晚的日期

谢谢

DateTime结构将日期表示为64位数字,用于测量自特定开始日期以来的“刻度”数。一千万个滴答声等于一秒钟

见:

现在,将其与以下内容进行比较:

日期时间精度:0.00333秒[默认为EF]

日期时间2精度:100纳秒


因此,很可能数据库中的值实际上更大或更圆

您可以通过检查增量来测试这一点:

foreach (var dt in List)
{
   var delta = Date - dt;
   // check the value.
}
DateTime结构将日期表示为64位数字,用于测量自特定开始日期以来的“刻度”数。一千万个滴答声等于一秒钟

见:

现在,将其与以下内容进行比较:

日期时间精度:0.00333秒[默认为EF]

日期时间2精度:100纳秒


因此,很可能数据库中的值实际上更大或更圆

您可以通过检查增量来测试这一点:

foreach (var dt in List)
{
   var delta = Date - dt;
   // check the value.
}

您可以按以下方式进行尝试:

应避免使用保留字或关键字作为变量名

string str = "2019-10-27T20:44:55.323";
DateTime dt = Convert.ToDateTime(str);

var lst = dbcontext.system_notification.where(x => x.notification_date > dt).ToList();

您可以按以下方式进行尝试:

应避免使用保留字或关键字作为变量名

string str = "2019-10-27T20:44:55.323";
DateTime dt = Convert.ToDateTime(str);

var lst = dbcontext.system_notification.where(x => x.notification_date > dt).ToList();

我明白了,我只是知道。但是这种情况有什么解决办法吗?。如何从结果中排除筛选出的日期?好吧,您的c#
DateTime
相当于sql
DateTime2
。因此,您需要调整字符串以匹配下一个可用值。如果您需要这种精度,您可能还需要更改sql类型。我明白了,我知道这一点。但是这种情况有什么解决办法吗?。如何从结果中排除筛选出的日期?好吧,您的c#
DateTime
相当于sql
DateTime2
。因此,您需要调整字符串以匹配下一个可用值。如果您需要这种精度,您可能还需要更改sql类型。这些方法对您有帮助吗?这些方法对您有帮助吗?