Я столкнулся с проблемой оптимизации, и, возможно, есть способ ее обойти.
Считайте, что у меня есть следующая сущность:
public class EntityOne
{
public int Id {get; set;}
public virtual ICollection<Names> Names { get; }
}
И я хочу получить одно имя это соответствует определенным c критериям. Допустим, я создал данную модель:
public class EntityView
{
public int Id {get; set;}
public string SingleName {get; set;}
}
Теперь я хочу получить информацию для модели EntityView в одном запросе. Вот как я делаю это до сих пор:
var result = db.EntityOnes
.Include(a => a.Names)
.Select(a => new EntityView
{
Id = a.Id,
Name = a.Names.Where(b => b.Criteria == Criteria).Select(b => b.Name).FirstOrDefault()
}).ToList();
Могу ли я go об этом сказать так, чтобы мне не приходилось выполнять FirstOrDefault внутри основного запроса, и до сих пор только одна запись для моей модели EntityView?
Спасибо всем!