.Include()可以使用多少嵌套投影?

时间:2012-07-27 21:16:43

标签: entity-framework include

实体框架中的.Include()可以使用多少嵌套投影?

例如:

A类有一个B类清单,其中有一个C类清单,其中有一个D类清单等。

query.Include( a => a.BList.Select( b => b.Clist.Select( c => c.DList.Select(...) ) ) );

这些可以走多远?

2 个答案:

答案 0 :(得分:1)

他们可以随心所欲。没有程序限制,但我确信你会在一些荒谬的内容之后耗尽一些资源。

答案 1 :(得分:1)

MSSQL - 尽可能多的

将Entity Framework与MSSQL数据库一起使用时,可以使用任意数量的嵌套投影。使用MSSQL时,查询由System.Data.SqlClient形成。


MySQL - 仅限2

但是,在使用带有MySQL 的实体框架时,在开始接收逻辑错误之前,您只能使用2个投影。 MySql提供程序MySql.Data.MySqlClient有一个 bug ,它会在两次投影后开始生成失败的连接。此错误已发布到Oracle,但从未修复过。