using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using PARR.DAL.Context; using PARR.DAL.Services.Abstracts; using PARR.DAL.Services.Interfaces.Unit; namespace PARR.DAL.Services.Implementations.Unit { internal class UnitService : BaseService, IUnitService { private readonly DataContext dataContext; protected override DbSet EntitySet => dataContext.Units; protected override DataContext EntitiContext => dataContext; public UnitService(DataContext dataContext, ILogger logger) : base(logger) { this.dataContext = dataContext; } public async Task GetUnitWithFieldsAsync(string name) { return await GetUnitWithIncludeFields() .FirstOrDefaultAsync(u => u.Name.ToLower() == name.ToLower()); } private IQueryable GetUnitWithIncludeFields() { return EntitySet .Include(t => t.UnitFields) .ThenInclude(f => f.UnitField); } } }