2017-09-26 136 views
-1

我有Audience Object和SocialAudience對象。受衆可以擁有一個或多個SocialAudience和其他對象。實體框架Linq包含where子句

我想與觀衆有SocialAudiences已列請將isDeleted = 0

var audience = await db.Audiences.Include(A => A.AudienceUsersSources) 
              .Include("AudienceUsersSources.AudienceUsersSourceDetails") 
              .Include("SocialAudiences.AdAccount") 
              .Where(A => A.CustomerCode == CustomerCode 
                 && A.IsDeleted == 0 
                 ).OrderByDescending(A => A.ID).ToListAsync(); 

這段代碼的結果是觀衆與請將isDeleted有= 0和= 1

+0

你的問題有點不清楚。你能發佈Audience和SocialAudience課程嗎? – johnnyRose

+0

您需要受衆IsDeleted = 0或SocialAudiences IsDeleted = 0? – adityawho

+0

@adityawho我需要觀衆IsDeleted = 0和SocialAudience IsDeleted = 0 –

回答

0

由於SocialAudiences socialAudiences是一對多的你需要指定,如果你想要它在Audience.IsDeleted == 0和所有SocialAudiences.IsDeleted == 0或者如果只有1已經IsDeleted == 0.對於後者,請嘗試:

var audience = await db.Audiences 
         .Include(a => a.AudienceUsersSources.AudienceUsersSourceDetails) 
         .Include(a => a.SocialAudiences.AdAccount) 
         .Where(a => a.CustomerCode == CustomerCode && 
            a.IsDeleted == 0 && 
            a.SocialAudiences.Any(sa => sa.IsDeleted == 0)) 
         .OrderByDescending(A => A.ID) 
         .ToListAsync(); 

如果您要求所有孩子都有IsDeleted == 0,則使用All()而不是Any()