Entity Frameworkの.Include()で使用できるネストされたプロジェクションの数はいくつですか?
例えば:
クラス A にはクラス B のリストがあり、クラス B のリストにはクラス C のリストがあり、クラス D のリストなどがあります。
query.Include( a => a.BList.Select( b => b.Clist.Select( c => c.DList.Select(...) ) ) );
これらはどこまで行けるでしょうか?
Entity Frameworkの.Include()で使用できるネストされたプロジェクションの数はいくつですか?
例えば:
クラス A にはクラス B のリストがあり、クラス B のリストにはクラス C のリストがあり、クラス D のリストなどがあります。
query.Include( a => a.BList.Select( b => b.Clist.Select( c => c.DList.Select(...) ) ) );
これらはどこまで行けるでしょうか?
彼らはあなたが望む限り行くことができます。プログラムによる制限はありませんが、途方もない量のインクルージョンの後、リソースを枯渇させると確信しています.
MSSQL - 好きなだけ
MSSQL データベースで Entity Framework を使用する場合、ネストされたプロジェクションはいくつでも使用できます。クエリは、System.Data.SqlClient
MSSQL を使用する場合によって形成されます。
MySQL - 2 つだけ
ただし、 MySQL でEntity Framework を使用する場合、論理エラーを受け取る前に使用できるプロジェクションは 2 つだけです。MySql プロバイダーMySql.Data.MySqlClient
には、bug
2 つのプロジェクションの後に失敗した結合を生成し始める場所があります。このバグは Oracle に投稿されましたが、修正されませんでした。