Ваш код очень неэффективен, так как он полагается на то, что возвращает всю таблицу SenhaSet из базы данных, а затем зацикливается на ней.Вы хотите применить фильтр через Entity Framework для базы данных.Что-то вроде (я не знаю ваших имен столбцов, поэтому я предполагаю):
var senhas = _db.SenhaSet
.Where(s => SqlFunctions.DatePart("dw", s.Data) == DayOfWeek.Monday && IdTipoSenha >= 0)
.GroupBy(s => DbFunctions.TruncateTime(s.Data))
.Select(s => new {
TicketDate= s.Key,
Count = s.Count(t => t.IdSenha)
})
.ToList();
int maxTickets = senhas.Max(s => s.Count);
int minTickets = senhas.Min(s => s.Count);
Это предполагает, что база данных является SQL Server для использования метода System.Data.Objects.SqlClient.SqlFunctions.DatePart.