Siendo realistas, MVC es principalmente un patrón de implementación de UI, por lo que la pregunta es algo discutible. Sin embargo, en realidad solo hay dos opciones de panorama general. Su controlador normalmente envía solicitudes para cargar o guardar entidades en su modelo utilizando 1) una capa de servicio de algún tipo o 2) el patrón de Registro Activo.
La capa de servicio puede adoptar cualquiera de varias formas, aunque mi preferencia personal es trabajar con una abstracción de repositorio para las entidades raíz agregadas, cuyas implementaciones concretas funcionarán con algún tipo de ORM, o un DAO liviano, o un API para alguna tienda no relacional si eso tiene sentido para la aplicación.
El patrón de registro activo significa que su modelo tiene la responsabilidad de la persistencia, aunque generalmente significa que una clase base de algún tipo administra las asignaciones a su tienda, por lo que su modelo no está realmente tan directamente involucrado.
Básicamente, el controlador envía solicitudes para persistir objetos, ya sea una llamada a su repositorio, su implementación de UnitOfWork o el método Save en sus entidades. Si está utilizando repositorios, sus objetos modelo ignoran la persistencia.