【问题标题】:How to read blob data from SQL Server Image field using Dapper?如何使用 Dapper 从 SQL Server Image 字段中读取 blob 数据?
【发布时间】:2019-06-28 18:26:41
【问题描述】:

我需要从 SQL Server 数据库的 Image 类型列将 blob 数据读入内存流。我如何使用 Dapper 做到这一点?

我正在阅读 Dapper 手册,但找不到相关信息。

更新:我需要从数据库中读取数据(从查询中)。到目前为止建议的所有链接都包含有关如何将 blob 存储在数据库中的信息。

【问题讨论】:

  • 您是否通过以下链接:dapper-tutorial.net/knowledge-base/9634587/…
  • 是的,我都看到了,但似乎都不相关。我需要使用查询从服务器读取。链接说明了在需要更新和插入 8k 以上数据时如何操作。
  • imagevarbinary(max) 的已弃用名称。不要使用image
  • @AmitJoshi 该问题没有相关答案。无论如何它都太老了 - Dapper 在过去 7 年中经历了很多的变化
  • @RasanjanaN 这只是a very old SO question 的转发,没有相关答案。该网站不是 Dapper 官方网站

标签: c# sql-server blob dapper


【解决方案1】:

想通了。结果动态类型为 byte[]。

var row = con.QueryFirst("SELECT BLOBFIELD FROM TABLE WHERE ID = 1");

byte[] bytes = drawings.BLOBFIELD;
using (var stream = new System.IO.FileStream(@"C:\Temp\Test.dat", System.IO.FileMode.CreateNew))
  stream.Write(bytes, 0, bytes.Length);

【讨论】:

  • 换句话说,创建一个带有byte[] 字段的对象。其余代码不相关。这不适用于 large 二进制文件
  • @PanagiotisKanavos 如何使其适用于大型二进制文件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 2011-01-07
  • 2014-12-02
  • 2012-08-03
  • 2012-03-26
  • 2017-01-24
相关资源
最近更新 更多