// Return a list of Processo, ordered by the reference date of the specified Fila. // The Processo should not be included if it's not in the specified Fila. private static IEnumerable <Processo> GetProcessos(int cdFila) { using (var db = new ProcessoContext()) { var processos = db.Processos //.Include(p => p.ObjetoFilas) //.ThenInclude(o => o.Fila) .Where(p => p.ObjetoFilas.Any(o => o.FilaId == cdFila)); return(processos.ToList()); /* * foreach (var processo in processos) * { * var objfilas = db.Entry(processo) * .Collection(p => p.ObjetoFilas) * .Query() * .Where(o => o.FilaId == cdFila) * .ToList(); * processo.ObjetoFilas = objfilas; * } * * return processos.OrderBy(p => p.ObjetoFilas.FirstOrDefault().Data).ToList(); */ } }
private static IEnumerable <Processo> GetProcessos3(IEnumerable <int> cdFilas) { using (var db = new ProcessoContext()) { var processos = db.Processos .Where(p => p.ObjetoFilas.Any(o => cdFilas.Contains(o.FilaId))) .OrderBy(p => p.ObjetoFilas.Min(f => f.Data)); return(processos.ToList()); } }
private static IEnumerable <Processo> GetProcessos2(int cdFila) { using (var db = new ProcessoContext()) { var processos = db.Processos .Where(p => p.ObjetoFilas.Any(o => o.FilaId == cdFila)) .OrderBy(p => p.ObjetoFilas.FirstOrDefault(f => f.FilaId == cdFila).Data); return(processos.ToList()); } }