簡體   English   中英

LINQ to Entities Include()不起作用

[英]LINQ to Entities Include() does not work

以下LINQ to Entities查詢(使用EF 4.1 Code-First)應該基於“ CampaignsUsers創建視圖模型列表。 我每個廣告系列都有急切加載的Category屬性,因此每個廣告系列都應該在其Category引用屬性中填充適當的數據。 但似乎這種急切加載在某處丟失,因此我無法訪問類別: campViewModels[0].Campaign.Category 它始終為空。

var campViewModels = ctx.Campaigns
.Include(c => c.Category)
.Where(c => c.Title.Contains(searchText)).Join(
    ctx.Users,
    c => c.CampaignId,
    u => u.CampaignId,
    (c, u) => new {c, u})
    .GroupBy(cu => cu.c)
    .Select(g => new CampaignViewModel { Campaign =  g.Key, MemberCount=g.Count()})
    .OrderByDescending(vm => vm.MemberCount)
    .Skip(pageIndex)
    .Take(pageSize)
    .ToList();  

為了解決此問題,我更改了我的viewmodel定義並具有CategoryText屬性並在我的查詢中填充它:

Select(g => new CampaignViewModel { Campaign =  g.Key, MemberCount=g.Count(), CategoryText = g.Key.Category.Title})  

但我很想知道阻止明確加載類別的原因是什么?

投影到新類型,使用joingroup by ,將忽略Include

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM