如果修改日期大于或正在使用linq,则选择数据库中的所有记录
本文关键字:数据库 选择 记录 linq 大于 日期 修改 如果 | 更新日期: 2023-09-27 18:10:22
我有一个问题,我想知道谁能帮助我。我正在使用Linq从数据库创建一个列表,我想返回在当前日期已修改的列表中的所有记录。
日期由:
contact.CreatedDate = System.DateTime.Now; ctx.Contacts.Add(contact);'
当记录被更新时,ModifiedDate被给定一个值。
contact.ModifiedDate = System.DateTime.Now;
ctx.Entry(contact).State = EntityState.Modified;
这一切都很好,问题在下面:
var Contactlist = ctx.Contacts.Where(x => x.ModifiedDate = System.DateTime.Now
).ToList();
For Entity framework EntityFunctions.TruncateTime
var Contactlist = ctx.Contacts.Where(x =>
EntityFunctions.TruncateTime(x.ModifiedDate) == EntityFunctions.TruncateTime(System.DateTime.Today))
.ToList();
对于LINQ对象,您可以只比较Date
部分,如:
var Contactlist = ctx.Contacts.Where(x => x.ModifiedDate.Date == System.DateTime.Today)
.ToList();
。net框架中的DateTime
类型对象有Date
和Time
部分,您当前的检查将比较日期和时间。(你还需要==
而不是=
)
DateTime.Now
将返回当前日期和当前时间,DateTime.Today
将返回当前日期和时间设置为00:00:00
。类似地,DateTime.Date
将返回时间设置为00:00:00
的日期部分,因此您可以仅将其用于比较日期部分。