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

Ash*_*Ash 0 c# linq ado.net linq-to-entities entity-framework

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

var photos = from photo in entitiesContext.Photo
             join pg in entitiesContext.PhotoGallery on photo.PhotoGallery.PhotoGalleryID equals pg.PhotoGalleryID
             where pg.PhotoGallery == photoGalleryID
             select photo;

var photoList = photos.ToList();

foreach (var photoForLoading in photoList)
{
    photoForLoading.UserReference.Load();
    photoForLoading.PhotoComments.Load();

    foreach (var comment in photoForLoading.PhotoComment)
    {
        comment.UserReference.Load();
    }
}

return photoList;
Run Code Online (Sandbox Code Playgroud)

所以你可以看到我想要检索:

  • 来自特定照片库的所有照片:
    • 每张照片的用户详细信息
    • 每张照片的评论
      • 每条评论的用户详细信息

如何在LINQ中使用ADO.NET实体框架执行此操作?

干杯,灰.

Dre*_*vak 6

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

from photo in entitiesContext.Photo
                          .Include("UserReference")
                          .Include("PhotoComments")
etc...
Run Code Online (Sandbox Code Playgroud)