null vs DBNull

在 ADO.NET 中,正确处理 null 是一个混乱的源头。小巧玲珑的关键是你不必 ; 它在内部处理它。

  • null 的参数值正确发送为 DBNull.Value
  • 读取的 null 值显示为 null,或者(在映射到已知类型的情况下)被忽略(保留其基于类型的默认值)

它只是工作:

string name = null;
int id = 123;
connection.Execute("update Customer set Name=@name where Id=@id",
    new {id, name});