-1

DapperExtensions の非常に単純な使用例だと思います。

using (IDbConnection connection = Database.CreateConnection())
{
    var model = connection.GetList<MyModelPoco>().ToList();
}

ただし、例外がスローされます。

メソッドが見つかりません: 'System.Collections.Generic.IEnumerable 1<System.__Canon> Dapper.SqlMapper.Query(System.Data.IDbConnection, System.String, System.Object, System.Data.IDbTransaction, Boolean, System.Nullable1, System.Nullable`1)'.

Dapper (v1.13) と DapperExtensions (v1.4.3) の両方に NuGet を使用しています。

これが機能しない理由はありますか?追加した:

using Dapper;

ただし、結果には影響しません。(Resharper は、using ディレクティブが不要であるとも不平を言っています。)

Dapper を直接使用すると正常に動作します (ただし、DapperExtensions とは異なる方法で使用していることに気付きます)。

using (IDbConnection connection = Database.CreateConnection())
{
    var recordsets = connection.QueryMultiple("stored_procedure_name", new {parameterValue}, commandType:CommandType.StoredProcedure);
    var model1 = recordsets.Read<Model1Poco>().SingleOrDefault();

    if (model1 == null) return null;

    model1.Model2Collection = recordsets.Read<Model2Poco>().ToList();

    return model1;
}

私はいくつかの「グーグル」を行いましたが、コンセンサスは、DapperExtensions はドロップインで楽しいものであるべきだということです。

4

1 に答える 1

2

したがって、私のソリューションのプロジェクトの 1 つに、Dapper dll の古いコピーが含まれていることがわかりました。プロジェクト内で最新バージョンの Dapper (NuGet から) を使用していましたが、ビルド中にデプロイされた dll は古いものであったに違いありません。

最新の NuGet パッケージを使用するようにすべてのプロジェクト参照を更新した後、問題は解決しました。

于 2014-02-19T04:37:41.570 に答える