2017-12-24 22 views
2

Dapperの挿入/更新にはインラインSQLが必要ですか?私はDapperの実装例を尋ねましたが、見つかった例のすべてにインラインSQLが含まれているようです。インラインSQLを使用しないDapperの挿入/更新の例を教えてください。またはDapperの挿入/更新にインラインSQLが必要ですか?dapperの挿入/更新にはinline sqlが必要ですか?

+1

Dapperは、生のSQLでクエリを書くことを奨励するために構築されたライブラリです。だから、あなたは基本的なCRUD操作を含むSQLクエリを書くことが期待されています。 – poke

+1

「インラインSQL」とは、具体的にはどういう意味ですか? SQLインジェクションに関心がありますか?もしそうなら、適切にdapperを使用している(つまり '@ parameter'を使用していれば)心配する必要はありません。 –

+1

あなたは何をしたいのかを明確にすることはできますか?格納されているprocsを使用する場合は、そのための答えがあります。あなたがあなたのためにCRUDステートメントを書こうとするなら、dapper.contribかdapper.rainbowはそれらのことを行います。 * core *ライブラリはありませんが、これらの機能はdapperを拡張する追加のlibsで利用できます。 –

答えて

1

Dapperは、ストアドプロシージャを実行/照会することができます。あなたは

public void ExecuteSP() 
    { 
     SqlConnection connection = new SqlConnection("your connectionstring"); 
     var parameters = new DynamicParameters(new { SequenceName = "SequenceName", UserName = "userName" }); // replace with your actaul params 
     connection.Execute("dbo.YourStoredProcedureName", parameters, commandType: CommandType.StoredProcedure); 
    } 

残念なことに/ UPDATE、INSERT SPを呼び出したい場合は、私はあなたがネット上で探しているものの多くの例を見つけることができませんでした。私が見つけた最も近いものはhttp://dapper-tutorial.net/execute見出しの下にあります。例 - ストアドプロシージャを実行します。しかし私の経験から、はstring sql = "EXEC Invoice_Insert";という行には必要ありません。

+2

実際には、コマンドタイプをストアドプロシージャに設定している場合は、EXECは必要ありません。 –

関連する問題