У меня есть запрос EF, и в запросе я получаю данные из родительской таблицы и, возможно, данные из 3 дочерних таблиц, они остаются объединенными.
Родитель имеет отношение 1 ко многим с один из дочерних столов. Я пытаюсь получить счетчик количества дочерних строк в таблице
var exhibitorContentItems = await (from contentitems in _dc.ContentItems.AsNoTracking()
join itemcategory in _db.ContentItemCategories.AsNoTracking() on contentitems.ContentItemGuid equals itemcategory.ContentItemID into joinedCatItem
from itemcategory in joinedCatItem.DefaultIfEmpty()
join category in _db.ContentCategories.AsNoTracking() on itemcategory.ContentCategoryID equals category.ContentCategoryID into joinedCat
from category in joinedCat.DefaultIfEmpty()
join association in _db.ContentAssociations.AsNoTracking() on contentitems.ContentItemGuid equals association.ContentItemID into joinedAssoc
from association in joinedAssoc.DefaultIfEmpty() // want number of records in association
where contentitems.AccountID == session.AccountId
&& contentitems.StatusID == (int)DbRowStatus.Enabled
select new DataTypes.ViewModels.Content.ContentGridItemViewModel()
{
AccountId = contentitems.AccountID,
ContentItemGuid = contentitems.ExhibitorContentItemGuid,
DisplayName = contentitems.DisplayName,
MobileAvailability = contentitems.MobileAvailability,
FileType = contentitems.Filetype,
CategoryName = category.CategoryName ?? "",
ContentItemUrl = contentitems.ContentItemUrl,
AssignedToNumberDevices = association.Count() // what to put here?
}).ToDataSourceResultAsync(request);