2012-03-28 15 views
5

Tengo una entidad POCO en la que he definido un constructor personalizado. También implementé el constructor predeterminado para que Entity Framework pueda hidratar con éxito el objeto cuando solicito una copia de la base de datos.Constructor privado en la entidad POCO que evita la carga lenta

Esto parece funcionar bien, pero cuando establezco el constructor predeterminado en privado (para forzar a mi código a usar la versión personalizada) y solicito una entidad desde la base de datos, no parece poder navegar sobre entidades relacionadas ya que son todos nulos.

Esto parece ser un problema de carga lenta, así que podría cambiar mi repositorio para cargar los objetos relacionados que necesito pero me pregunto si hay una mejor manera de ocultar el constructor predeterminado del código de cliente al tiempo que permite Entity Framework a lazy ¿carga?

Respuesta

9

Si define constructor privado que violate requirements para la creación de proxy POCO responsable de la carga diferida: clase de datos

Una costumbre debe tener un constructor público o protegido que no tiene parámetros.

Así que la mejor opción para usted es usar el constructor protegido o no utilizar la carga diferida.

+0

El constructor protegido funciona muy bien, gracias. – James

Cuestiones relacionadas