У меня есть объект, у которого есть объект значения диапазона дат, определенный как свойство.
Объект значения:
Код: Выделить всё
public record DateRange
{
private DateRange()
{
}
public DateOnly Start { get; init; }
public DateOnly? End { get; init; }
public int LengthInDays => End.HasValue ? End.Value.DayNumber - Start.DayNumber : int.MaxValue;
public static DateRange Create(DateOnly start, DateOnly? end)
{
if (start == default)
throw new ArgumentException("Start date cannot be empty.", nameof(start));
if (end.HasValue && start > end.Value)
throw new ApplicationException("End date precedes start date");
return new DateRange
{
Start = start,
End = end
};
}
public bool IsWithinRange(DateOnly date)
{
return date >= Start && (!End.HasValue || date x.ValidityDateRange);
Код: Выделить всё
.Where(c => c.ValidityDateRange.Start = currentDate)
Выражение LINQ 'DbSet()
.Where(c => !(c.IsDeleted))
.Where(c => (int)c.Status == 1 &&
c.ValidityDateRange.IsWithinRange(__currentDate_0))' не удалось перевести. Либо перепишите запрос в форме, которую можно перевести, либо явно переключитесь на оценку клиента, вставив вызов AsEnumerable, AsAsyncEnumerable, ToList или ToListAsync. Дополнительную информацию см. на https://go.microsoft.com/fwlink/?linkid=2101038.
Подробнее здесь: https://stackoverflow.com/questions/792 ... eries-into