Estoy desarrollando una aplicación de almacenamiento de archivos y hemos incorporado el tipo FileStream en nuestra base de datos. Se espera que el sistema admita archivos de gran tamaño. Una parte de la aplicación permite cargas masivas de múltiples documentos. Estos documentos deben estar vinculados a otras entidades dentro del sistema.¿Cómo evito que Entity Framework cargue una columna FileStream en una matriz de bytes?
Una página está diseñada para mostrar documentos no vinculados, para permitir a un usuario vincular los documentos de uno en uno a las entidades. Después de realizar algunas pruebas de carga del proceso de carga, descubrimos que la huella de memoria del proceso de trabajo ASP.NET se incrementó a más de un GB al cargar esta página Documentos no vinculados.
Después de la investigación, parece que Entity Framework está cargando toda la entidad de fila del documento (incluido el FileStream, convertido en una matriz de bytes) para cientos de documentos no vinculados. En mi clase de repositorio, no guardo esta matriz de bytes al convertirme en un Modelo, pero para entonces ya es demasiado tarde. EF ha dedicado el tiempo y la memoria para asignar la matriz de bytes a la representación de la clase Repositorio.
¿Hay alguna forma en que pueda decirle a EF que no cargue esta matriz de bytes a menos que yo lo pida explícitamente?
http://stackoverflow.com/a/3293286/782754 No es posible marcar una propiedad de carga lenta, pero se pueden utilizar otros conceptos –