Se per esempio voglio modificare una lista dei primi 5 user
codice:
public ActionResult EditPrimiCinque()
        {
            User user = db.User.Take(5).ToList();
            return View(user);
        }


        [HttpPost]
        public ActionResult EditPrimicinque(List<User> users)
        {
            if (ModelState.IsValid)
            {
                foreach(User u in users)
                    db.Entry(user).State = EntityState.Modified;

                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(user);
        }
Affinche questo funzioni il modelbinder deve poter capire attraverso le variabili POST che si vuole bindare una collection. A tal proposito il metodo EditorFor fa quasi tutto in automatico, solo bisogna rinunciare al foreach in favore del for nella view:

codice:
@for(int i = 0; i < Model.Count; i++) {
        <tr>
            <td>
                @Html.EditorFor(m => m[i].Nome)
            </td>
            <td>
                @Html.EditorFor(m => m[i].Cognome)
            </td>
        </tr>
In questo modo tutte le textbox avranno un attributo name univoco che permetterà (e segnalerà) al model binder di bindare l'intera lista di oggetti.