質問: _dtTVP.AsTableValuedParameter() }).SingleOrDefault(); ```
回答: バックエンドが何であるかは明示していません。バックエンドがSQL Serverの場合は、真っ直ぐに: `SqlConnection`使用し`SqlConnection` 。バックエンドが何か他のものであれば、動作しても動作しなくてもよい。 *一般に、* ADO.NETプロバイダ*は*テーブル値パラメータをサポートする必要はありません。 現在、コード*でストアドプロシージャが呼び出されていないことに*注意してください。少なくとも、直接ではありません。むしろ:ストアドプロシージャを呼び出すテキストコマンドを実行しています。カスタムデータ型はストアドプロシージャには*暗黙的*ですが、テキストは*明示的に指定*する必要があるため、これは重要です。 OLEDBを使用すると、明示的にする方法はありません。したがって、バックエンドとプロバイダの両方がTVPをサポートしている**場合** 、これが機能すること*があり*ます。 ``` return _oledbconn.Query(@"tvpdapper_sample", new { otstatus = _dtTVP.AsTableValuedParameter() }, commandType: CommandType.StoredProcedure).SingleOrDefault(); ```