C# 如何在ADO.NET实体中检索一个数据库中的记录和所有子记录?

C# 如何在ADO.NET实体中检索一个数据库中的记录和所有子记录?,c#,linq,entity-framework,ado.net,linq-to-entities,C#,Linq,Entity Framework,Ado.net,Linq To Entities,我想进行一次数据库调用来检索以下数据,但我很难弄清楚LINQ应该是什么样子。这是我当前的实现(我知道它很糟糕!!): 正如您在上面看到的,我想检索: 特定照片库中的所有照片: 用户可以查看每张照片的详细信息 每张照片上的评论 用户可以查看每个评论的详细信息 如何使用ADO.NET实体框架在LINQ中实现这一点 干杯, Ash.使用.Include方法加载相关实体。例如: from photo in entitiesContext.Photo

我想进行一次数据库调用来检索以下数据,但我很难弄清楚LINQ应该是什么样子。这是我当前的实现(我知道它很糟糕!!):

正如您在上面看到的,我想检索:

  • 特定照片库中的所有照片:
    • 用户可以查看每张照片的详细信息
    • 每张照片上的评论
      • 用户可以查看每个评论的详细信息
如何使用ADO.NET实体框架在LINQ中实现这一点

干杯,
Ash.

使用.Include方法加载相关实体。例如:

from photo in entitiesContext.Photo
                          .Include("UserReference")
                          .Include("PhotoComments")
etc...

创建ObjectQuery时,调用Include方法,传入要自动加载的子实体的名称。如果要加载多个子实体,则可以链接调用以包含


有关更多信息,请参阅此部分。

我假设这将导致一条SQL语句(带有两个内部联接)发送到SQL server?此外,照片可能不包含任何评论,我需要做一些形式的左外连接吗?不,如果有评论,你将有一个值,如果没有评论,你将得到空值。检查空值应足够。
from photo in entitiesContext.Photo
                          .Include("UserReference")
                          .Include("PhotoComments")
etc...