我编写了一个实用程序来处理向数据参数添加值以进行手动 sql 查询。消费看起来像
utility.Add("SELECT * FROM MyTable WHERE MyColumn = {0}", myVariable, DBType.TheType);
或者
utility.Add("UPDATE MyTable SET MyColumn = {0}", myVariable, DBType.TheType);
应该如何处理 myVariable 的空值?
- 所有的价值观都应该被完全信任。责任完全在消费者身上。消费者怎么会知道 null 无论如何都会被处理?
- null 永远无法工作,因此它应该抛出 NullArgumentException。为什么还要更进一步?
- null 应自动解释为 DBNull.Value,因为它是唯一可行的解决方案。这是一个实用程序,对吧?让它可用并干掉一些代码!
可选的附加问题:如果这些论点是由三位政治候选人提出的,他们的政党会是什么?(请说明这些当事人的本国)