1
複数の結果セットを扱うのに以前はQueryMultiple
を使用しましたが、返される結果セットの正確な数はわかっていました。この場合、QueryMultiple
でストアドプロシージャを呼び出すと、返される結果セットの数が異なります。 PetaPocoやDapperのような別のものでこれを扱うことは可能ですか?PetapocoまたはDapperでさまざまな数の結果セットを扱う?
複数の結果セットを扱うのに以前はQueryMultiple
を使用しましたが、返される結果セットの正確な数はわかっていました。この場合、QueryMultiple
でストアドプロシージャを呼び出すと、返される結果セットの数が異なります。 PetaPocoやDapperのような別のものでこれを扱うことは可能ですか?PetapocoまたはDapperでさまざまな数の結果セットを扱う?
DapperのQueryMultiple
メソッドは、GridReader
を返します。 GridReader
では、利用可能なすべての結果セットを読んだときtrue
に変更する必要があり.IsConsumed
性質を持っているので、それがうまくいくかもしれない:
using(var reader = conn.QueryMultiple(...)) {
do {
var data = reader.Read<...>().AsList();
// ...
} while(!reader.IsConsumed);
}
また、Dapperのは、単に「パラメータをパックんExecuteReader
方法があり、
using(var reader = conn.ExecuteReader(...)) {
do {
var parser = SqlMapper.GetTypeDeserializer(...);
while(reader.Read()) {
var obj = parser(reader);
// ...
}
} while(reader.NextResult());
}
を(私は申し訳ありませんが、petapocoについて多くを知らない):手動すなわち、それらを組み合わせることができるように、ステップ」、とだけ公開しGetTypeDeserializer
方法 『オブジェクト』のコードに行を実体化を呼び出します
ありがとうございましたマークは、他より速いですか? – xaisoft
@xaisoftは時間をとっても気軽に教えてください:) –
Marc、私はQueryMultipleを先に進めました。それは素晴らしい作品です。再度、感謝します – xaisoft