Dapperは未知数の結果セットをサポートしていますか?

ado.net c# dapper

質問

更新:

Marcが以下に述べるように、私の根本的な質問は、QueryMultiple()を使用するときにRead()がレコードセットよりも多く呼び出されるとどうなりますか?


私は、既存のDB呼び出しをSqlDataReaderを使ってDapperに変換しています。

しかしそれに問題がある。私は条件付きで1-4のsprocsと呼ぶことができるsprocを呼び出します。ですから私は潜在的に多くの結果セットを持っています。私の説明を簡単にするために、私は1-2の結果セットしか持たないと仮定します。最初のsprocが呼び出されていないが、2番目のsprocが呼び出された場合、最初のRead()コールは最初の唯一の結果セットを取得します。それから、ProjectItemオブジェクトであると思われる無駄なTeamItemオブジェクトがたくさんあります。その後、別の結果セットがないため、もちろんRead()の2回目の呼び出しで爆発します。

私はDapperについて何かを見逃しているのですか?これはDapperだけが実現可能なものをサポートできない極端なケースですか?

if (_searchParams.WillSearchTeams)
{
    var teams = multi.Read<TeamItem>().ToList();
}
var projects = multi.Read<ProjectItem>().ToList();

受け入れられた回答

すでにQueryMultipleを使用していると仮定します。ここでの基本的な質問のように聞こえるのは、グリッドよりももっと多くの時間を呼び出すとどうなるかです。私はそれが空のシーケンスを返すことができたと、私はTryReadのいくつかの種類が望ましいだろうと思います 。いいえ、現在はありませんが、理論的には可能です。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ