Я думаю, что UpdateModel - это своего рода ярлык, который вызывает огромное количество связей между представлением и моделью.
Я предпочитаю не использовать «встроенные» модели (например, возможность передавать созданные объекты LINQ в представление непосредственно из базы данных), потому что я хочу иметь возможность заменить мою модель чем-то более сложным - или даже просто другой базой данных поставщик. Однако очень заманчиво использовать LINQtoSQL (или ADO.NET Entities) для быстрого прототипирования.
Что я обычно делаю, так это создаю свое MVC-приложение, а затем выставляю слой «сервис», который затем подключается к «модели» (которая представляет собой OO-представление моего домена). Таким образом, я могу без проблем создавать слой веб-службы, менять базы данных, писать новые рабочие процессы и т. Д.
(и убедитесь, что вы пишете свои тесты и используете DI - это экономит много хлопот!)
Rob