GlobalRepository es un repositorio "genérico" que reemplaza todos los repositorios de su proyecto, de esta manera solo necesitará usar un repositorio único, lo que significa mantener un repositorio. ¡Con GlobalRepository no necesita crear un nuevo repositorio para cada modelo ni definir métodos! simplemente agréguelo y úselo.
Tenga en cuenta :
Lo llamé repositorio GLOBAL, no GENÉRICO porque el objetivo es usar un repositorio para todos los modelos, lo que significa: llámalo GLOBALMENTE en tu proyecto, en este caso evitarás toneladas de código (por supuesto, eres libre de cambiarlo e implementarlo). como un repositorio GENÉRICO normal)
Los métodos devuelven IQueryable, que brinda la mayor flexibilidad y permite realizar consultas eficientes en lugar del filtrado en memoria, etc., y podría reducir la necesidad de crear una gran cantidad de métodos de obtención de datos específicos. Por otro lado, ahora les has dado una escopeta a tus usuarios. Pueden hacer cosas que quizás no hayas previsto (usar .include() en exceso, realizar consultas intensas y realizar filtrado en memoria en sus respectivas implementaciones, etc.), lo que básicamente evitaría los controles de capas y de comportamiento porque les has dado acceso completo. Así que antes de usarla, tenga en cuenta el equipo, su experiencia, el tamaño de la aplicación, las capas y la arquitectura generales...
Este repositorio también contiene: SmartDeletersService que verifica la base de datos cada vez que otras entidades utilizan una entidad; los métodos devuelven Verdadero si encuentran eso; de lo contrario, devuelven Falso.
GlobalRepository funciona en cualquier lugar, simplemente descargue los archivos, agréguelos a su proyecto y utilícelos :D
Atención - Recuerde :
PD: para funcionar correctamente, tus modelos deben extender BaseEntity, agregué un archivo para que puedas ver cómo se ve BaseEntity (para principiantes)
Si necesita algo, contácteme en: [email protected]