Есть функция, которая отдает объкты, которых нет в БД по пришедшему списку. Как видно, с помощью Read
я сначала считываю все данные, а потом отбираю. Как я могу избавиться от этого Read()
чтобы ускорить сам запрос???
public List<PermDTO> GetPermsNotIn(List<PermDTO> perms)
{
var res = this.db.PermRepository.Read().ToList();
var res2 = res.GroupJoin(perms, r => new { r.kgroup_name, r.perm_name }, p => new { p.kgroup_name, p.perm_name }, (r, p) => new
{
id = r.id,
description = r.description,
isactive = r.isactive,
kgroup_name = r.kgroup_name,
perm_name = r.perm_name,
count = p.Count()
});
var res3 = res2.Where(w => w.count == 0);
var res4 = res3.Select(s => new PermDTO()
{
id = s.id,
description = s.description,
isactive = s.isactive,
kgroup_name = s.kgroup_name,
perm_name = s.perm_name,
});
var res5 = res4.ToList();
return res5;
}
public virtual IQueryable<T> Read()
{
return context.Set<T>().AsNoTracking();
}
var res = this.db.PermRepository.Read().Where(w => w.count == 0).ToArray();
тут ты не вытаскиваешь все данные, а только те которые по условию совпадают.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Надо ли возвращать IActionResult во всех случаях когда результата работы функции нет?
Попытался сделать профилирование и оно упало с ошибкой, как описано в вопросеЯ понять не могу, зачем он лезет по этому пути: C:\Program files\dotnet\название_моего_проекта
У меня есть следующий код юнит-теста