c# - 在 Entity Framework 中查询今天的记录

标签 c# sql entity-framework linq

<分区>

我如何在下面的 EF 中只获取今天的记录。我在下面尝试但没有运气:

 List<VacancyBasket> VacancyBasket = bModel.VacancyBaskets
                      .Where(b => b.BasketID == teacherGuid && b.Created == DateTime.Now)
                      .ToList();

我遇到异常:

The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.

最佳答案

你需要像这样转换为DateTime

var todaysDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month,  DateTime.Today.Day);

现在将它传递给过滤器

List<VacancyBasket> VacancyBasket = bModel.VacancyBaskets
                  .Where(b => b.BasketID == teacherGuid && b.Created == todaysDate)
                  .ToList();

否则你先得到今天的日期。

DateTime today = DateTime.Now.Date;

然后这样实现:

List<VacancyBasket> VacancyBasket = bModel.VacancyBaskets
                  .Where(b => b.BasketID == teacherGuid && (b.Created.Value.Year == today.Year &&  b.Created.Value.Month == today.Month && b.Created.Value.Day== today.Day))
                  .ToList();

关于c# - 在 Entity Framework 中查询今天的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33374458/

相关文章:

sql - 带有 nativeQuery 的 Spring Boot Query 注释在 Postgresql 中不起作用

MYSQL:仅当字段具有文本时才希望使用“自然语言模式下的匹配”将单词与文本字段中的文本进行比较

c# - 如何仅选择一列以返回linq中的对象

entity-framework - EF Core一对多无限包含

c# - 对范围内的值进行分类

c# - VSTO 将图像插入到 Outlook 中的 Word、Excel、PowerPoint 和邮件附件中

c# - 如何在 DataGridView 中仅调整特定列的大小?

c# - LinqToSql 引用的实体将抛出 NullReferenceException

c# - 你如何在 WPF 的 Canvas 上画一条 1 像素粗的线

c# - 在数据库中存储 C# GetHashCode() 是不可靠的