PetaPoco を使用して、型付きパラメーターを使用してストアド プロシージャを呼び出すにはどうすればよいですか? C#では、次のようにします:
cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
PetaPoco を使用して、型付きパラメーターを使用してストアド プロシージャを呼び出すにはどうすればよいですか? C#では、次のようにします:
cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = email;
詳細についてはドキュメントを確認してくださいが、ここに抜粋があります。
http://www.toptensoftware.com/Articles/114/PetaPoco-What-s-new-in-v4-0
SQL引数としてのIDbParametersのサポート
PetaPocoは、IDbParameterオブジェクトをクエリに直接渡すことをサポートするようになりました。これは、PetaPocoがプロパティを正しくマップしない場合に便利です。
たとえば、SQL Serverドライバーは、パラメーターが正しいタイプで構成されていない限り、VarBinary列へのDbNullの割り当てを処理しません。これを回避するには、次のようにします。
databaseQuery.Execute("insert into temp1 (t) values (@0)",
new SqlParameter() { SqlDbType = SqlDbType.VarBinary, Value = DbNull.Value });
これの興味深い副作用の1つは、PetaPoco.IMapperインターフェイスからIDbParameterを返して、PetaPocoのデフォルトのパラメーターマッピング機能をグローバルにオーバーライドできることです。