0
タイトルはかなりそれをすべて言います。 Dapperには多くのドキュメントがないので。前もって感謝します。Dapperはいつ「マテリアライズ」しますか? Like EntityはToList()で具体化します
タイトルはかなりそれをすべて言います。 Dapperには多くのドキュメントがないので。前もって感謝します。Dapperはいつ「マテリアライズ」しますか? Like EntityはToList()で具体化します
クエリ()はIEnumerableを返します。あなたのIEnumerableを反復処理するとき、Dapperの中では、Yieldを使ってPOCOに結果行を入力するメソッドが呼び出されます。その結果、反復処理が進むにつれて結果が徐々に具体化されます。結果セットのすべての行が一度に戻ってくることは保証されていないので、DB接続を開いたままにしておく必要があります。確かに大きな結果セットの場合、アプリケーション内のメモリに結果全体を設定することなく、結果セットをループすることができます。いつでも、IEnumerableでToList()を呼び出すことができます。次に、すべてを実体化して、接続を閉じることができます。
ありがとう@ user1585345。だからDapperは 'ToList()'で具体化し、結果を繰り返し処理します。 –
ToList()を呼び出したことがないかもしれません。この場合、結果は行ごとにマテリアライズされます(繰り返し)。 ToList()* all *を呼び出すと、結果が具体化されます。 – bbsimonbb