質問: User.Identity.Name.ToLower() }).ToList(); ``` 私がデバッグすると、DBに2つのプロジェクトがありますが、私は1つだけ戻ってきます。名前にはnullがあることを示します。 奇妙な。私は間違って何をしていますか?私はDapperがフィールド(クラス)にフィールド(DB)を適切にマッピングしていないように感じます。私は最新のNuGetバージョンを使用しています。
回答: あなたが見ている違いは、次の(1.12?)リリースの重要な機能です。歴史的に、dapperはデータが完全一致でなければならないと非常に戸惑っていました。例えば、データはdoubleですが、フィールド/プロパティはfloat、データはlong、フィールド/プロパティはint 。保留中のバージョンでは、これを検出し*、生成されたILの一部として*補償する余分なコードがあります(Convert.ChangeType経由ではありません - 遅すぎます)。 この変更の主要な要因の1つは、一部のデータベースがかなり単純な値を非常に異なる方法で返していることです。一部のデータベースのユーザーがその型をマップすることは、しばしば問題になりました。 Tl; dr:新機能があなたのために機能することをうれしく思っています。すぐにリリースされるはずです。