между двумя датами в качестве условия where вместе с методом GETALL () в Linq - PullRequest
0 голосов
/ 19 июня 2020

У меня следующая модель. Я пытаюсь перечислить все автомобили, имеющие дату ТО между двумя датами

public class Vehicles
{
    [Key]
    public int Id { get; set; }
    [Required]
    public string Make { get; set; }
    [Required]
    public string Model { get; set; }
    [Required]
    public string RegNo { get; set; }
    [Required]
    public string VehicleName {get;set;}
    public DateTime? MOTDate { get; set; }

}

Мой класс репозитория приведен ниже

public IEnumerable<T> GetAll(Expression<Func<T, bool>> filter = null, Func<IQueryable<T>, IOrderedQueryable<T>> orderBy = null, string includeProperties = null)
    {
        IQueryable<T> query = dbSet;

        if (filter != null)
        {
            query = query.Where(filter);
        }

        if (includeProperties != null)
        {
            foreach (var includeProp in includeProperties.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            {
                query = query.Include(includeProp);
            }
        }

        if (orderBy != null)
        {
            return orderBy(query).ToList();
        }
        return query.ToList();
    }

Как я могу дать где условие с методом GetAll () datetime datefrom

datetime dateto

var VehileList = VehicleRepo.GetAll () Здесь я хочу указать условие where для столбца MOTDate модели с использованием переменных datefrom и dateto

1 Ответ

0 голосов
/ 19 июня 2020

См. Ниже

var result = GetAll(f => f.MOTDate > StarDate && f.MOTDate < EndDate);

...