Bazı demografik verileri depolayan Population adlı bir tablonun olduğunu varsayalım. T-SQL, 50 yaş üstü insanların sayım sonucuna varmak için, böyle bir şey yapabilir: Sayım yaparsam Linq önce tüm kayıtları alır mı?
SELECT COUNT(*) FROM POPULATION
WHERE AGE > 50
Aşağıdaki linq deyimi işe düşündüm, ama sadece sıfır döndürür ve nedenini anlamıyorum.
var count = _context.Populaton.Where(x => x.Age > 50).Count();
var count = _context.Population.Select(x => x.Age > 50).Count();
Neden Yukarıdaki senaryolar harf: Benim aslında sayım sonucuna varmak için Amacıyla
var count = _context.Population.Count(x => x.Age > 50);
, ben aşağıdakilerden birini yapmak zorunda?
Dışarıda bıraktığınız uygulama ayrıntıları var mı? context.TableName.Count (x => x.SomeCondition); benim için iyi çalışıyor. – jeffora
İlk LINQ ifadeniz *, * son iki gibi çalışmalıdır. Sağlayıcı ile ilgili bir sorun gibi geliyor. Hangi LINQ sağlayıcısı kullanıyorsunuz? – Greg
Bu soru için seçtiğiniz cevap yanlış ve alakasız. Büyük olasılıkla, kullanmakta olduğunuz sorgu sağlayıcı ile devam eden başka bir şey var. – jason