我在我的项目中使用 Dapper.NET 作为 ORM 层。我正在尝试为文件上传和下载编写 WebApis。但是我无法让它工作。我已经进行了足够多的搜索以寻求帮助,但我找不到任何帮助。
如果我只是使用 ADO.NET,我可以将 VarBinary 类型的 SqlParameter 用于文件流。但是 Dapper.NET 查询参数只是动态对象。因此,以下代码无法将记录插入文件表。
var fileStream = await Request.Content.ReadAsStreamAsync();
var streamId = Guid.NewGuid();
var fileName = streamId.ToString();
var sql = @"Insert into Attachments(stream_id, file_stream, name)
Values(@streamId, @fileStream, @fileName)";
using (var db = new SqlConnection(AppConfig.ConnectionString))
{
await db.ExecuteAsync(sql, new { streamId, fileStream, fileName);
}
fileStream.Close();
抛出异常:mscorlib.dll 中的“System.NotSupportedException”
附加信息: System.IO.Stream 类型的成员 fileStream 不能用作参数值
有没有人这样做或知道我可以使用的任何小巧的扩展插件?