Допустим, у меня есть класс
public class foo { public string FooId { get; set; } }
Теперь в моем слое данных я пытаюсь написать код, который создаст один экземпляр IDataCommand и установит 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 там? Есть ли другой стандартный способ сделать это?