First off, I use this to get some kind of data from the database
string Query = "SELECT * FROM dbo.Person WHERE PersonId != @ID";
SqlParameter Parameter = new SqlParameter("@ID", ID);
IEnumerable<???> = db.Person.SqlQuery(Query, Parameter).ToList();
The result can be anything as long as the type your return in the controller, is also implemented as Model in the View. The View receives this type. So
return View(IEnumerable<Person>) should be fine.
I would suggest you edit the data in the model, but technically it doesn't matter. You can edit your data while looping through it in the view.