实体SQL - 以块的形式检索字节数据

时间:2010-10-26 15:19:50

标签: c# entity-framework entity

以下代码一次检索所有字节数据。

我想知道如何使用实体框架访问存储在 chunk 中的字节数据。由于文件太大(大约50MB),我想从数据库中获取部分字节后立即通过块将其发送给用户。

using (Entities context = new Entities(EntitiesConnectionString))
{
    byte[] data = context.MyFileTable
        .Where(item => item.FileId == 1)
        .Select(item => FileData)
        .FirstOrDefault();
}

提前致谢!

1 个答案:

答案 0 :(得分:1)

这是不可能的。 EF和LinQ通常从一个来源列举。它只会从该源生成完整的对象。

我有两种可能的解决方案:

  1. 使用您的资格查询数据 返回引用的标准 什么需要加载,然后流 之后从那里开始。

  2. 写一个包装类 实现IEnumerable,让这个 将数据与流一起返回 然后你可以询问对象。您 然后可以查询这个对象,并拥有 您可以使用的流 结果集.1。

  3. 选项#1可能是最简单的。