实体框架中的.Include()可以使用多少嵌套投影?
例如:
A类有一个B类清单,其中有一个C类清单,其中有一个D类清单等。
query.Include( a => a.BList.Select( b => b.Clist.Select( c => c.DList.Select(...) ) ) );
这些可以走多远?
答案 0 :(得分:1)
他们可以随心所欲。没有程序限制,但我确信你会在一些荒谬的内容之后耗尽一些资源。
答案 1 :(得分:1)
MSSQL - 尽可能多的
将Entity Framework与MSSQL数据库一起使用时,可以使用任意数量的嵌套投影。使用MSSQL时,查询由System.Data.SqlClient
形成。
MySQL - 仅限2
但是,在使用带有MySQL 的实体框架时,在开始接收逻辑错误之前,您只能使用2个投影。 MySql提供程序MySql.Data.MySqlClient
有一个 bug
,它会在两次投影后开始生成失败的连接。此错误已发布到Oracle,但从未修复过。