0
私はインターネット上でコードを見つけました。文書をデータベースにバイト配列として挿入しました。Dapperを使用してbyte []配列をsqldbtype.Varbinaryに変換します
これをDapper/Entityフレームワークに適用する必要がありますが、これまでのところ成功していません。次のように私はこれまで得たことである:ここ
public void InsereRegistroEmail(string a, string b, string c, byte[] anexoBytes)
{
//var cn = _context.Database.Connection;
//cn.Execute(string.Format(QueriesSAC.InsereRegistroEmailBanco, motivoEmail, nomeGestor, corpoEmail, anexoBytes));
var cn = _context.Database.Connection;
//var A = new SqlParameter("@A", SqlDbType.VarBinary, anexoBytes.Length);
//A.Value = anexoBytes;
var sql =(string.Format("INSERT INTO [LOG_EMAIL] ([GSTOR_DSTNA] ,[ASSNT],[DATA_ENVIO],[CORPO_EMAIL],[ANEXO]) VALUES('{0}','{1}', GETDATE(),'{2}', @A)", a, b, c));
var A = new DynamicParameters();
A.Add("@A", anexoBytes, dbType: DbType.Binary, direction: ParameterDirection.Input);
A.Get<DbType>("@A");
cn.Execute(sql);
}
キー行は次のとおりです。
sqlWrite.Parameters.Add("@File", SqlDbType.VarBinary, file.Length).Value = file;
VARBINARYへのデータ型を設定します1つであるので。私は本当にここでいくつかの助けが必要です...
ファイルの配列はanexoBytesです。
Dapperに詳しくはありませんが、何らかの理由でパラメータを 'Execute'に渡す必要はありませんか? – Crowcoder
@Crowcoder私は "SQL"変数がそれをすると信じています。 – Longshadow
これは単なる文字列です。 [ここをクリック](https://github.com/StackExchange/dapper-dot-net#stored-procedures) – Crowcoder