私がクラスを持っているとしましょう
public class foo { public string FooId { get; set; } }
現在、データレイヤーで、IDataCommandのインスタンスを1つ作成し、FooIdをコマンドパラメーターの次のように設定するコードを記述しようとしています。
public void save(foo f, IDbConnection conn)
{
IDataCommand cmd = conn.CreateCommand();
cmd.CommandName = "SP_SAVE_INFO" ;
IDataDbParameter param = cmd.CreateParameter();
param.name = "@fooId";
param.value=(f.id>0)?f.id:(object)DbNull.Value;
cmd.parameters.add(param);
cmd.ExecuteNonQuery();
}
コード行に気付いた場合--param.value=(f.FooId> 0)?f.id:(object)DbNull.Value; 。私の質問はまさにこの分野にあります。パラメータが多すぎて提供できない場合。すべてのパラメータでこのような値をチェックすると、ちょっと悪いように見えます。ここでの質問は、この種のことを行うための最良の方法は何ですか?誰がそのDLまたはBLを行う必要がありますか?BLの場合、そこにDBNull値を割り当てる必要がありますか?これを行う他の標準的な方法はありますか?