У меня есть структура класса в сущности, выглядит примерно так:
public class Parent
{
public int Id { get; set; }
public List<Child> Children { get; set; }
//Lots more fields....
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
[ForeignKey("ParentId")]
public Parent Parent { get; set; }
//Lots more fields....
}
Затем я запускаю запрос к этим таблицам, используя следующий код:
Context.Database.Log = s => Debug.Print(s);
var ALL = Stopwatch.StartNew();
var query = context.Parent.Include(x => x.Children).Where(x => //Whatever...).ToList()();
ALL.Stop();
Context.Database.Log = null;
Выводотладка запроса говорит мне, что запрос тоже 773 мс, например, меньше секунды, но таймер сообщает мне, что весь процесс занял 2 секунды.
Учитывая это, я предполагаю, что дополнительная секунда или около того времени занимает Entityчтобы отобразить данные в объект - может ли кто-нибудь подтвердить, правильно ли это?
И что еще более важно - мой вопрос: каковы мои варианты сокращения этого времени?
Как примечание,этот код:
Context.Database.Log = s => Debug.Print(s);
выведет фактический SQL, который выполняется в командное окно в Visual Studio.