6

Dapper の優れたパフォーマンスと、その使用方法のサンプルをいくつか見ました。

それを使用して IQueryable データを提供し、ODATA を使用して UI レイヤーと統合してデータを UI (グリッド、リストなど) に転送できるかどうか疑問に思っていました。

ODATA を使用してクエリを実行するために、IEnumerable の代わりに Dapper オブジェクト AsQueryable を返す方法はありますか?

4

3 に答える 3

8

いいえ、そうではありません。必要に応じて、任意のシーケンスを .AsQueryable() でラップできますが、LINQ-to-Objects を使用するだけです。Dapper は意図的にシンプルです。それはほとんど何もしようとしませんが、何をしようとしているのか: それはよくできています (たとえ私がそう言ったとしても)。適切な IQueryable インターフェイスは、ダッパーの正反対です...

于 2012-07-28T20:03:04.803 に答える
1

OData で Dapper を使用するには、Get(ODataQueryOptions<SpotView> queryOptions)パラメーターをインターセプトして解析し、そこから Dapper の where 句を作成する必要があります。また、WebApiConfig.cs のその他の OData 設定も考慮する必要があります。

config.AddODataQueryFilter(new EnableQueryAttribute()
{
...
});

ただし、EF で MySqlConnection を使用することもでき、上記の解析で車輪を再発明する必要はありません。ただし、Dapper のパフォーマンスが、既に異なる実行が組み込まれている EF のような完全な ORM を使用するよりも重要であるかどうかは、ユーザーの判断に委ねられます。

于 2016-04-27T23:21:00.200 に答える