Вызов метода Model будет работать (с или без) с помощью .Tolist () - PullRequest
0 голосов
/ 12 февраля 2012

У меня есть следующий метод модели внутри моего веб-приложения asp.net MVc: -

public IQueryable<User> searchusers(string q, int id) 
        { 
            return from u in entities1.Users 
                 where (!u.Users_Classes.Any(c => c.ClassID == id) && (u.UserID.Contains(q)) 
                   select u; 
} 

, который будет вызываться с использованием следующего метода действия: -

    [AcceptVerbs(HttpVerbs.Post)]
                 public PartialViewResult Search(string q, int classid)
                {

                    var users = r.searchusers(q, classid).ToList();

                    ViewBag.id = classid;
// code does here
               }

сейчас, еслия удаляю .ToList () из моего метода действия, код все равно будет работать нормально, поэтому использование метода .ToList () принесет какие-то преимущества или возможности?BR

Редактировать: - вот полный код моего метода действия: -

[AcceptVerbs(HttpVerbs.Post)]
             public PartialViewResult Search(string q, int classid)
            {

                var users = r.searchusers(q, classid).ToList();
                                ViewBag.id = classid;
                return PartialView("_usersearch", users);

           }

1 Ответ

2 голосов
/ 12 февраля 2012

Когда вы вызываете ToList, вы просите Entity Framework немедленно выполнить запрос, а затем вы будете работать с ним в коллекции памяти. В противном случае запрос будет выполнен при циклическом просмотре результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...