var begin = new DateOnly(DateTime.Now.Year, DateTime.Now.Month, 1);
var end = new DateOnly(DateTime.Now.Year, DateTime.Now.Month, 1);
var beginValue = begin.Year * 100 + begin.Month;
var endValue = end.Year * 100 + end.Month;
var forecast = await GetRepository<DmArticleForecast>(unitOfWork)
.AsQueryable()
.Where(x => elementGroupsToShow.Contains(x.ElementGroup))
.Where(x => (x.Year * 100 + x.Month) >= beginValue)
.Where(x => (x.Year * 100 + x.Month) <= endValue)
.ToListAsync();
// or with two columns (using indexes)
.AsQueryable()
.Where(x =>
(x.Year > begin.Year || (x.Year == begin.Year && x.Month >= begin.Month)) &&
(x.Year < end.Year || (x.Year == end.Year && x.Month <= end.Month))
)
.ToListAsync();
1004600cookie-checkLinq Compare Year-Month or Year-Week