Note: The following is copied verbatim from the [a post by AArtur](https://entityframework.codeplex.com/discussions/447413) in EF Runtime Discussions. He describes a case in which implementing eager loading with multiple results would be good. I believe it can be generalized to any query that returns nested results including graphs and nested projections and that currently we would flatten to a single query with JOINs. I believe we could potentially do this without introducing a new version of the Include method. I also believe we could take advantage of query batching to reduce the number of roundtrips if we had the capability:
Currently LINQ select statement with joining tables will result in returning one huge result set.
This looks excessive when we have one to many or many to many relationship.
For example, we have Table1 and select 10 rows, which has many-to-many relationship with Table2 such that for every row in Table1 there is 50 rows in Table2.
In simple join we get 10*50 = 500 rows of data with Table1+Table2.
If we use temporary tables in SQL server we can return __Multiple Result Sets__, which strongly __reduce data__ to 10 rows Table1 + 50 rows of Table2.
It would be helpful to use this approach as
```
entity.Where(ent => ent.Field > 2)
.IncludeResultSet(ent => ent.Table2);
```
Currently in EF 5.0 it is possible to use multiple result sets only in stored procedures
http://msdn.microsoft.com/en-us/data/jj691402.aspx
Currently LINQ select statement with joining tables will result in returning one huge result set.
This looks excessive when we have one to many or many to many relationship.
For example, we have Table1 and select 10 rows, which has many-to-many relationship with Table2 such that for every row in Table1 there is 50 rows in Table2.
In simple join we get 10*50 = 500 rows of data with Table1+Table2.
If we use temporary tables in SQL server we can return __Multiple Result Sets__, which strongly __reduce data__ to 10 rows Table1 + 50 rows of Table2.
It would be helpful to use this approach as
```
entity.Where(ent => ent.Field > 2)
.IncludeResultSet(ent => ent.Table2);
```
Currently in EF 5.0 it is possible to use multiple result sets only in stored procedures
http://msdn.microsoft.com/en-us/data/jj691402.aspx