I think UpdateModel is a bit of a shortcut that brings about a huge connection between the view and the model.
I prefer not to use “built-in” models (for example, the ability to transfer objects created by LINQ to a view directly from the database) because I want the option to replace my model with something more complex - or even just another database provider. It is very tempting to use LINQtoSQL (or ADO.NET Entities) for rapid prototyping.
What I usually do is create my MVC application and then set the “services” layer, which is then connected to the “model” (which is the OO representation for my domain). This way I can easily create a web service layer, swap databases, write new workflows, etc. No problem.
(and make sure you write your tests and use DI - it saves a lot of trouble!)
Rob
Rob ellis
source share