EF никогда не загружает связанные объекты по умолчанию. Вы должны либо охотно, либо явно загрузить отношения, либо настроить отложенную загрузку. Наилучшим способом является активная загрузка, так как тогда все будет выполнено в одном запросе с соответствующими объединениями:
var organization = await _context.Organizations
.Include(x => x.OrganizationPhotos)
.Include(x => x.OrganizationHeadPhotos)
.FirstOrDefaultAsync(p => p.Id == id);
Если есть под-отношения, которые вам также нужно загрузить, вам может понадобиться также использовать ThenInclude
:
.Include(x => x.OrganizationPhotos)
.ThenInclude(x => x.SomeOtherRelationship)
Вам следует избегать отложенной загрузки, поскольку слишком легко забить вашу базу данных, если вы не обращаете внимания на то, что делаете, но если вы хотите, чтобы они загружались автоматическисначала вам нужно сделать свойства виртуальными:
public virtual ICollection<OrganizationPhoto> OrganizationPhotos { get; set; }
, а затем включить отложенную загрузку через:
services.AddDbContext<MyContext>(o =>
o.UseSqlServer(Configuration.GetConnectionString("Foo"))
.UseLazyLoadingProxies());