假设我有一堂课
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 值吗?有没有其他标准方法可以做到这一点?