質問: conn.Query("SELECT * FROM #tempdb LEFT JOIN BookAuthors ON ..."); } ``` しかし、私がページを実行すると、次の例外が発生します。 > オブジェクト名 '#tempdb'が無効です。 > > `#tempdb`ライフサイクルは最初のクエリでのみ有効ですか?
回答: 暗黙の接続の開閉を使用しているようです。これは実際に一時的なオブジェクトに問題を引き起こします。クエリ間にテンポラリテーブルが必要な場合は、そのようなクエリを実行する前に手動で接続を開く必要があります。これはうまくいくはずです。テストスイートの多くの例では、一時テーブルを使用しています。 しかし、実用的な観点からは、クエリ間で状態を転送するために一時テーブルを使用することは...厄介です。 `#foo`は、異なる接続(リセットされているが再利用された接続を含む)上のすべての使用の間で、異なる意味を持つので、脆いことに加えて、プランキャッシュには良くありません。