以下代码一次检索所有字节数据。
我想知道如何使用实体框架访问存储在 chunk 中的字节数据。由于文件太大(大约50MB),我想从数据库中获取部分字节后立即通过块将其发送给用户。
using (Entities context = new Entities(EntitiesConnectionString))
{
byte[] data = context.MyFileTable
.Where(item => item.FileId == 1)
.Select(item => FileData)
.FirstOrDefault();
}
提前致谢!
答案 0 :(得分:1)
这是不可能的。 EF和LinQ通常从一个来源列举。它只会从该源生成完整的对象。
我有两种可能的解决方案:
使用您的资格查询数据 返回引用的标准 什么需要加载,然后流 之后从那里开始。
写一个包装类 实现IEnumerable,让这个 将数据与流一起返回 然后你可以询问对象。您 然后可以查询这个对象,并拥有 您可以使用的流 结果集.1。
选项#1可能是最简单的。