如何获得在有效日期范围内有效的项目

问题描述 投票:0回答:1

我有一个实体表,需要查询。

每个项目都有两个属性:IdEffectiveDate

我需要列出在日期范围内有效的所有项目的列表。

这是我到目前为止所拥有的:

var monthStart = new DateTime(2019, 10, 1);
var monthEnd = new DateTime(2019, 10, 31);

var items = dbContext.Items
     .OrderByDescending(a => a.EffectiveDate)
     .where(m => m.EffectiveDate <= monthEnd && m.EffectiveDate > monthStart)

这将获得除一个以外的所有正确项目。它需要获取期间和开始日期之前的最后一个]内有效日期的所有项目。现在,它将获得该期间内所有具有生效日期的项目。

是否可以在单个查询中执行此操作?

对于示例我们的商品具有这些有效日期(DD / MM / YYYY):

  1. 05/05/2000
  2. 07/01/2005
  3. 08/07/2019
  4. 12/07/2019
  5. 15/07/2019
  6. 15/08/2019
  7. 并且我想要在01/07/2019

31/07/2019之间有效的项目,结果将是:
  1. 07/01/2005
  2. 08/07/2019
  3. 12/07/2019
  4. 15/07/2019

我有一个实体表,需要查询。每个项目都有两个属性:Id和EffectiveDate我需要一个在日期范围内有效的所有项目的列表。这是...

c# entity-framework linq linq-to-entities
1个回答
3
投票

您可以将列表与另一个子查询连接起来,如下所示:

© www.soinside.com 2019 - 2024. All rights reserved.