我正在开发一个文件存储应用程序,我们已经在我们的数据库中合并了 FileStream 类型。该系统预计将支持大文件。该应用程序的一部分允许批量上传多个文档。然后必须将这些文档链接到系统内的其他实体。
一页旨在显示未链接的文档,以允许用户一次将一个文档链接到实体。在对上传过程进行了一些负载测试后,我们发现 ASP.NET 工作进程的内存占用在加载此未链接文档页面时飙升至超过 GB。
经过调查,Entity Framework 似乎正在为数百个未链接的文档加载整个文档行实体(包括 FileStream,转换为字节数组)。在我的存储库类中,我在转换为模型时不保存此字节数组,但到那时为时已晚。EF 花费了时间和内存将字节数组分配到 Repository 类表示中。
有没有一种方法可以告诉 EF 不要加载这个字节数组,除非我明确要求它?