БД в коді нижче?
var empall = context.Employee;
var empmatt = context.Employee.Where(e => e.Name == "Matt").FirstOrDefault();
запусти і подивись профайлером бд. думаю що одне
Добре зараз спробую, дякую
в empall ти не матеріалізував запит. якби context.Employee.ToList(); - тут би точно був запит до бд а потім другий, де за ім'ям запит
Я так теж думаю, просто в одній статті людина написала, що тут будет два запити до ДБ, ось я і здивувався, вирішив перепитати
ну думаю малось на увазі що при використанні empall визветься окремо тобто раз вже її витягли то десь використовуєте ж)
Ось оригінал, він тут нічого про це не пише - "Whenever we access an entity through database context then Entity Framework Core calls the database to fetch the result set. We can make use of List type to store the result set and then extact the data from it, instead of making calls to the database again and again. See the below code where EF Core will be making database call 2 times. var empall = context.Employee; var empmatt = context.Employee.Where(e => e.Name == "Matt").FirstOrDefault(); We can reduce the calling to the database to just a single time by storing the result in a list type object and then subsiquently fetching a record from there. See the below code where we have done this thing. var empall = context.Employee.ToList(); var empmatt = empall.Where(e => e.Name == "Matt").FirstOrDefault();"
Обсуждают сегодня