Dapper.NET null vs DBNull

示例

在ADO.NET,正确处理null是一个经常引起混淆的问题。dapper的关键在于你不必这样做,它会在内部处理所有的事情。

  • 参数值如果为null,则正确地将其作为 DBNull.Value 发送

  • 读取的 null 值被表示为 null,或者(在映射到已知类型的情况下)被忽略(保留基于类型的默认值)

它只适用于:

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