using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using FaKrosnoEfDataModel.Entities; using Microsoft.EntityFrameworkCore; namespace FaKrosnoEfDataModel.Queries { public static class ScheduleOrderQueries { public static readonly Func> GetEntities = EF.CompileQuery((FaKrosnoDbContext context) => context.ScheduleOrders.Include(x => x.Recipient).ThenInclude(x => x.Purchaser) .Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailMiscs) .Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailDetails) .ThenInclude(x => x.ScheduleOrderDetailDetailMiscs).Include(x => x.ScheduleOrderMiscs)); public static readonly Func> GetEntitiesByDate = EF.CompileQuery((FaKrosnoDbContext context, DateTime fromDate) => context.ScheduleOrders .Include(x => x.Recipient).ThenInclude(x => x.Purchaser).Include(x => x.ScheduleOrderDetails) .ThenInclude(x => x.ScheduleOrderDetailMiscs).Include(x => x.ScheduleOrderDetails) .ThenInclude(x => x.ScheduleOrderDetailDetails).ThenInclude(x => x.ScheduleOrderDetailDetailMiscs) .Include(x => x.ScheduleOrderMiscs).Where(x => x.LastUpdateDate > fromDate)); public static readonly Func GetById = EF.CompileQuery( (FaKrosnoDbContext context, int id) => context.ScheduleOrders.Include(x => x.Recipient).ThenInclude(x => x.Purchaser) .Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailMiscs) .Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailDetails) .ThenInclude(x => x.ScheduleOrderDetailDetailMiscs).Include(x => x.ScheduleOrderMiscs) .FirstOrDefault(x => x.ID == id)); } }