sql >> データベース >  >> RDS >> Sqlserver

EntityFrameworkFluent構文またはインライン構文を使用した再帰CTEの記述

    AFAIKでは、LINQでもEFでも再帰CTEはサポートされていません。解決策は、CTEをビューとして公開することです。 EFコードファーストとマイグレーションを使用した再帰クエリまたは階層クエリに関する記事は、EFコードファーストマイグレーションを使用してそのようなビューをデプロイする方法を示しています。

    クライアント側の反復反復を実行してCTEをエミュレートしようとしても、大規模なデータセットに拡張できず、サーバーとのやり取りがおしゃべりになります。 EFコードがIEnumerableを返す方法に注意してください IQueryableではありません 、これは、各レベルを具体化し、各エントリの次のレベルを個別のリクエストとして連結することを意味します。 。 LINQベースのソリューションは、エントリ数が限られている浅い階層で適切に機能します(また、多くのプロジェクトで そのようなデータレイアウトがあり、ユーザーの投稿/回答が典型的な例です)が、多くの要素を持つ深い階層の下で崩壊します。



    1. Group_concatMySQL関数と同等のOracle

    2. SQLiteを使用したAndroidListView

    3. MySQLのVARCHARとTEXTの違い

    4. OracleでAUTO_INCREMENTを使用してIDを作成するにはどうすればよいですか?