C# 实体框架Linq include with where子句
我有听众对象和社会听众对象。观众可以有一个或多个社交观众和其他对象 我想让观众了解那些已删除column=0的社交听众C# 实体框架Linq include with where子句,c#,entity-framework,linq,C#,Entity Framework,Linq,我有听众对象和社会听众对象。观众可以有一个或多个社交观众和其他对象 我想让观众了解那些已删除column=0的社交听众 var audience = await db.Audiences.Include(A => A.AudienceUsersSources) .Include("AudienceUsersSources.AudienceUsersSourceDetails")
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();
此代码的结果是socialAudiences的受众IsDeleted=0和=1。因为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()
您的问题有点不清楚。你能发布听众和社交听众课程吗?你需要听众IsDeleted=0或社交听众IsDeleted=0吗?@adityaw我需要听众IsDeleted=0和社交听众IsDeleted=0你可以试试这样的方法()我不明白你的主张