var:LINQ - değil LINQ aşağıdaki ifadenin eşdeğerdir Ne
Select t1.appname, t1.julianDte, t1.cat
From table1 t1
Where NOT EXISTS
(Select *
from table t2
where t1.cat = t2.cat AND t2.julianDte < t1.julianDte)
var:LINQ - değil LINQ aşağıdaki ifadenin eşdeğerdir Ne
Select t1.appname, t1.julianDte, t1.cat
From table1 t1
Where NOT EXISTS
(Select *
from table t2
where t1.cat = t2.cat AND t2.julianDte < t1.julianDte)
bu Not Any
desen deneyin. (Ile herhangi All için ters!) @ David B'nin cevabın
var query = db.table1
.Where(t1 => !db.table2
.Any(t2 => t2.cat == t1.cat && t2.julianDte < t1.julianDte)
);
Sorgu sözdizimi sürümü:
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
};
bu, sql'ye ne kadar iyi çevirir? Benim tecrübemde "VEYA" kaçınılmalıdır. –
Merak etme, "VEYA" ile ilgili, "VE" den daha tehlikeli hale ne gelir? –
VEYA dizinlerin kullanımına müdahale etme eğilimi gösterir. 3. caddede yaşayan insanları bulun VE su tesisatçıları ... Bu durumda, yaşadıkları caddede bir insan indeksi oldukça faydalıdır. 3. caddede yaşayan insanları bul YA DA su tesisatçıları ... Bu durumda, yaşadıkları caddeye göre bir insan indeksi çok daha az faydalıdır. –
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
Ben bu yorum için emin kılacak bir '// nerede DEĞİL EXISTS' ve '' db.table2.Any ... '' yi biçimlendirmeye çalışın ki '' ',' Any' ile aynı satırdadır. Genellikle LINQ oldukça açık bir şekilde kendini anlatıyor, ama bu bir yorumun büyük ölçüde takdir edileceğini düşündüğüm bir durumdur, ancak gelecekteki kodlar kodunuza rastlar. – AaronLS
@AaronLS bu ilginç bir felsefi soru ... Ne kadar iyi yorumlanması sözdizimi göstermeli? Sorgudaki sql formunu zaten kullandığı için, bu yorumu askerden yararlanma konusunda açıkça belirtmem gerekiyordu. –
Cevabınızı eleştirmedim, bu kodu kullanan herkes için genel bir öneride bulundum ve bu yararlı oldu. – AaronLS