Мое понимание Entity Framework - то, что, если он может ответить на запрос из своего кэша, он это сделает.Однако мое простое тестирование показывает, что повторные запросы попадают в базу данных, даже если на них ранее был получен положительный ответ:
var u1 = context.Users.SingleOrDefault(u => u.Id == 1);
var u2 = context.Users.SingleOrDefault(u => u.Id == 1);
Эти запросы выполнены успешно.Для каждого я вижу SELECT TOP (2)
в SQL Profiler.
Почему EF обращается к базе данных для этого второго запроса?