LINQ - Where not exists

后端 未结 3 986
心在旅途
心在旅途 2020-12-08 18:51

What is the equivalent of following statement in LINQ:

Select t1.appname, t1.julianDte, t1.cat 
From table1 t1 
Where NOT EXISTS 
   ( Select * 
     from ta         


        
相关标签:
3条回答
  • 2020-12-08 19:10
    from t1 in Context.table1DbSet
    let ok = 
        (from t2 in Context.table2DbSet 
         where t2.Idt1 = t1.Idt1 && t1.DateValid.HasValue
        ).Any()
    where 
       t1.Active
       && !ok
    
    0 讨论(0)
  • 2020-12-08 19:28

    Try this Not Any pattern.

    var query = db.table1
    .Where(t1 => !db.table2
      .Any(t2 => t2.cat == t1.cat && t2.julianDte < t1.julianDte)
    );
    
    0 讨论(0)
  • 2020-12-08 19:28

    Query syntax version of @Amy B's answer (with !Any inverted to All):

    from t1 in db.Table1
    where db.Table2.All(t2 => t1.cat != t2.cat || t2.julianDte >= t1.julianDte)
    select new
    {
        t1.appname,
        t1.julianDte,
        t1.cat
    };
    
    0 讨论(0)
提交回复
热议问题