O código:
var primeCtr = con.Contractors?.Where(ctr => ctr.Type == "Prime").FirstOrDefault();
if (primeCtr == null)
primeCtr = con.Contractors?.Where(ctr => ctr.Type == "Original Prime").FirstOrDefault();
Explicação: Se existir um contratante do tipo "Prime", use-o, caso contrário, use o "Original Prime"
Eu poderia ter codificado isso usando ? : expressão, mas acho que teria sido menos eficiente?
var primeCtr = con.Contractors?.Where(ctr => ctr.Type == "Prime").Any() ? con.Contractors?.Where(ctr => ctr.Type == "Prime").FirstOrDefault() : con.Contractors?.Where(ctr => ctr.Type == "Original Prime").FirstOrDefault();
A consulta para "Prime" seria executada duas vezes, eu acho?
Apenas tentando determinar se existe uma maneira mais elegante de expressar isso usando o EF Core 8? Este é meu primeiro aplicativo EF Core e não uso o EF antigo há vários anos, então pode estar enferrujado.