以下の例では、いくつかの仮定が行われています。
- データベースへのアクセスにはDapperを使用しています。任意の
IDbConnection
オブジェクトを拡張します。
- データベースに、そのような定義を持つテーブルがあります
CREATE TABLE Data (Id INT IDENTITY(1, 1) PRIMARY KEY, Data VARBINARY(MAX))
。
- ここにドキュメントがあります
ReadAllBytes
したがって、明らかに、テーブル構造を囲むものを何も提供していないため、必要に応じてこのコードを変更する必要がありますが、それで作業を開始できます。
それを書く
this.connection.Open();
try
{
var parameters = new
{
Data = File.ReadAllBytes(...);
};
return connection.Execute("INSERT INTO Data (Data) VALUES (@Data)", parameters);
}
finally
{
this.connection.Close();
}
それを読む
this.connection.Open();
try
{
var parameters = new { Id = 1 };
return connection.Query(
"SELECT Data FROM dbo.Data WHERE Id = @Id", parameters)
.Select(q => q.Data as byte[])
.Single();
}
finally
{
this.connection.Close();
}