質問: 私はそれが間違っていることを知っていますが、空の文字列を意味するNULLSを持つレガシーコードベースを取り扱っています。逆もまた同様です。 私はすぐにそれが可能であるかを見ることはできませんが、データベースから戻ってマッピングするときに空文字列を空文字列で返すことが可能です。
回答: Dapperは*nullを*見たときにセッターを呼び出さないので、オプションには次のものが含まれます: * コンストラクタのデフォルト値を`""`に設定する * アクセサ上で`null`をチェックする そう: ``` public class SomeDto { public SomeDto() { Name = ""; } public string Name {get;set;} } ``` または: ``` public class SomeDto { private string name; public string Name { get {return name ?? "";} set {name = value;} } } ``` ただし、これは値の*読み取りに*のみ適用されます。私はオンにDapperの取得するための*良い*方法を考えることはできません`""`に`null`パラメータオブジェクトとしてでDTOを渡すときに、オプションは次のとおりです。 * (おそらく、 `string NullIfBlank(this string s)`拡張メソッドを書く`string NullIfBlank(this string s)`型を作成し、 `null` `""`を代入し`null` * 返すタイプのシムプロパティ持つ`null`の代わりにする`""` 、とにデータベースのクエリバインドを持って`@NameOrNull`ではなく、 `@Name`