Estoy en el proceso de iniciar un nuevo proyecto y crear los objetos comerciales y el acceso a los datos, etc. Solo estoy usando objetos simples antiguos clr en lugar de cualquier orms. Creé dos bibliotecas de clases: 1) Business Objects: contiene todos mis objetos comerciales, todos estos objetos son livianos y solo tienen propiedades y reglas comerciales. 2) Repositorio: esto es para todos mis datos de acceso.Patrón de repositorio con carga diferida usando POCO
La mayoría de mis objetos tendrán lista de niños y mi pregunta es cuál es la mejor manera de cargar estos valores perezosos ya que no quiero traer información innecesaria si no la necesito.
He pensado en utilizar el "obtener" en la propiedad secundaria para comprobar si es "nulo" y si es llamar a mi repositorio para obtener la información del niño. Esto tiene dos problemas por lo que puedo ver: 1) El objeto "sabe" cómo obtenerlo. Prefiero que no se tenga ninguna lógica de acceso a datos en el objeto. 2) Esto requirió que ambas clases se refirieran entre sí, lo que en el estudio visual arroja un error de dependencia circular.
¿Alguien tiene alguna sugerencia sobre cómo superar este problema o cualquier recomendación sobre el diseño de mis proyectos y dónde se puede mejorar?
Gracias