Creo que sí.
Creo clases de modelos de vista específica que representan el intercambio de información entre el navegador y el servidor. Si el estado del modelo es válido, copio los valores o llamo a los métodos de dominio con esos valores (para eso está la carpeta Modelos). Nunca pongo atributos específicos de MVC en las entidades de mi dominio.
Regla de oro, mantengo mis entidades en un ensamblaje separado, que no sabe nada de MVC.
Tenga cuidado con exponer entidades de dominio en sus métodos de acción MVC ... la carpeta de modelo podría hacer una mala broma: D Si, por ejemplo, tiene una clase "Cuenta", con una propiedad "IsAdmin" y expone esta entidad en un formulario de registro, el usuario podría intentar pasar un parámetro arbitrario "IsAdmin = true" en la cadena GET o en la carga POST, y la carpeta de modelo MVC establecerá esa propiedad en su modelo ... y su código probablemente guarde esa información en la base de datos.
Por lo tanto, creo que es muy importante mantener la atención en los modelos de visualización.
Sé que con todas estas cosas "dinámicas" como ViewBag y que sus propias entidades LINQ sean parámetros en los métodos de acción todo se vuelve muy fácil de hacer ... pero no debemos pasar por alto la seguridad y reforzar la seguridad debemos asegurarnos de que solo la información que queremos pueda llegar a nuestro dominio.
Saludos.
Es por eso que estos "modelos" se suelen denominar modelos de vista. – dotjoe