C# 将来自同一个表的两个查询合并为一个linq查询

C# 将来自同一个表的两个查询合并为一个linq查询,c#,asp.net-mvc,linq,linq-to-sql,C#,Asp.net Mvc,Linq,Linq To Sql,我有两个查询是查询同一个表但参数不同,我想合并成一个, 问题1 问题2 var upCommingLecture = _context.LectureGigs .Include(g => g.Artist).Include(g => g.Genre) .Where(g => g.DateTime > DateTime.Now && !g.IsCanceled); //results Ok 2

我有两个查询是查询同一个表但参数不同,我想合并成一个, 问题1

问题2

var upCommingLecture = _context.LectureGigs
            .Include(g => g.Artist).Include(g => g.Genre)
            .Where(g => g.DateTime > DateTime.Now && !g.IsCanceled);
        //results Ok 2 result
我要创建的查询

 var upCommingLecture = _context.LectureGigs
           .Include(g => g.Artist).Include(g => g.Genre).Where(g => g.IsWeekLy == true && (int)g.Days == (myDayOfWeek))
           .Where(g => g.DateTime > DateTime.Now && !g.IsCanceled);
        //Error none but 0 result
我也试过这个

var upCommingLecture = _context.LectureGigs
           .Include(g => g.Artist).Include(g => g.Genre)
           .Where(g => g.DateTime > DateTime.Now && !g.IsCanceled && g.IsWeekLy==true &&(int)g.Days==(myDayOfWeek));
        //Error none but 0 result
或者(
|
),而不是(
&&


不能使用where子句来使用OR条件吗?这样你就可以把两个语句都作为一个语句了?嗨,在我的查询中,我想得到两个结果(第一季度和第二季度共3项),而不是其中一个查询的结果。请注意这里的括号。OR的每一面都用paren包装,因为不这样做会有很大不同的结果,因为每一面都有AND运算符。OR(| |)不是我的意图,我需要两者results@AssafOur在你上面的评论中(对你原来的问题),你说你想退回3件物品。这就是手术室给你的。它将为您提供满足查询1(1项)或查询2(2项)的项,这意味着它将为您提供1项+2项=3项。
var upCommingLecture = _context.LectureGigs
           .Include(g => g.Artist).Include(g => g.Genre)
           .Where(g => g.DateTime > DateTime.Now && !g.IsCanceled && g.IsWeekLy==true &&(int)g.Days==(myDayOfWeek));
        //Error none but 0 result
var upCommingLecture = _context.LectureGigs
       .Include(g => g.Artist).Include(g => g.Genre)
       .Where(g => (g.DateTime > DateTime.Now && !g.IsCanceled) 
                || (g.IsWeekLy==true &&(int)g.Days==(myDayOfWeek)));