public IList <T> GetMany(IEnumerable <TKey> ids) { var idList = ids as IList <TKey> ?? ids.ToList(); if (idList.IsEmpty()) { return(new List <T>()); } var result = _dbContext.Set <T>().Join( idList, ent => ent.Id, id => id, (ent, id) => ent); return(result.ToList()); }
public async Task DeleteAsync(IEnumerable <T> entities, IntranetDbContext context = null) { var isExternalContext = context != null; context = context ?? DbContextAsync; var set = context.Set <T>(); var entityList = entities.ToList(); entityList.ForEach(e => set.Attach(e)); set.RemoveRange(entityList); await SaveAsync(context); if (!isExternalContext) { context.Dispose(); } }
public SqlRepository(IntranetDbContext dbContext) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _dbSet = dbContext.Set <T>(); }