Dapper 如何在 ADO.Net 中创建正确命令 class 的实例?

How does Dapper create an instance of the correct command class in ADO.Net?

Dapper 如何使用 DbConnection 实例创建特定 ADO.Net 驱动程序的 DbCommand 实例?

例如,如果我使用SAConnectionDapper如何在查询数据时创建SACommand的实例?

样本

using (iAnywhere.Data.SQLAnywhere.SAConnection connection = 
DAL.ConnectionManager
   .GetOpenPoolConnection<iAnywhere.Data.SQLAnywhere.SAConnection>())
{
    connection.Execute("INSERT INTO Table1 (FallbackLanguageID, Guid) 
                        VALUES (?, ?)", new { fallbackLanguageID, newLocalizationGroup });
}

每个特定的 DBConnection 实现一个 IDBConnection interface, which has a CreateCommand 方法。 Dapper 只是这样称呼。