C# datetime如何工作以及如何在windows窗体ADO实体中比较两个日期?

C# datetime如何工作以及如何在windows窗体ADO实体中比较两个日期?,c#,winforms,entity-framework,linq,datetime,C#,Winforms,Entity Framework,Linq,Datetime,我的数据库sql server中有表“Deposit”,列为“DepositDate”,其类型为datetime。 我和今天的日期有一行,其中一行是2019-02-14 22:26:50000 今天的日期是一样的,我的意思是2019-02-14 但是,当尝试通过以下代码获取“所有今天”行时,它不起作用。我认为它与日期之后的时间有关。 但是现在写我只在一天内被重置,但我想在我的数据库中保留datetime类型。 那么,我要找的是哪怕是时间和日期?我使用Linq和实体 我这样做,我没有得到错误,但没

我的数据库sql server中有表“Deposit”,列为“DepositDate”,其类型为datetime。 我和今天的日期有一行,其中一行是2019-02-14 22:26:50000 今天的日期是一样的,我的意思是2019-02-14 但是,当尝试通过以下代码获取“所有今天”行时,它不起作用。我认为它与日期之后的时间有关。 但是现在写我只在一天内被重置,但我想在我的数据库中保留datetime类型。 那么,我要找的是哪怕是时间和日期?我使用Linq和实体

我这样做,我没有得到错误,但没有找到行。返回空datagridview

DateTime TodayDate = Convert.ToDateTime(DateTime.Now.ToString());
 var deposit = (from u in db.Deposit
                                   where u.DepositDate == TodayDate
                                   select u).ToList();
                    if (deposit != null)
                    {
                        dgvDeposit.DataSource = null;
                        dgvDeposit.DataSource = deposit;
                    }
我甚至试过了,但是我犯了错误

LINQ to ADO实体中不支持日期


我非常感谢您的帮助

如果您想利用您在
DepositDate
上可能有的索引,您必须在开始日期和结束日期之间进行筛选。如果你不在乎有多少时间,你可以用它从数据库值中去掉时间

DateTime today = DateTime.Today;
DateTime tomorrow = today.AddDays(1);

var deposit = (from u in db.Deposit
               where u.DepositDate >= today && u.DepositDate < tomorrow
               select u).ToList();
DateTime today=DateTime.today;
DateTime明天=今天。AddDays(1);
var存款=(从u到db存款)
其中u.DepositDate>=今天和u.DepositDate<明天
选择u.ToList();
或者作为一个羔羊

var deposits = db.Deposit
                .Where(u => u.DepositDate >= today && u.DepositDate < tomorrow)
                .ToList();
var存款=db.存款
其中(u=>u.DepositDate>=今天和u.DepositDate<明天)
.ToList();


作为旁注和意见事项,通常建议将
DbContext
上的
DbSet
属性多元化(如
db.depositions
)。您的变量
deposit
也是如此,因为它的类型为
List
,这是一个集合(我更改的第二个代码示例)。

使用
DateTime.Today
获取今天的日期
现在
包括当前时间(
今天
是12:00am)@Igor谢谢,它正在工作。现在我学到了一些东西。我想知道如何表述它。
var deposits = db.Deposit
                .Where(u => u.DepositDate >= today && u.DepositDate < tomorrow)
                .ToList();