resultset döndürmeden önce bir kaydın varlığını kontrol edin Ben veri almak için girişmeden önce bir kayıt olup olmadığını doğrulamak için standart çöp önemsiz yolumun yerine geçmek için basit bir çözüm arıyorum. Benim yöntemlerden biri olarak adlandırılırlar her Şu anda, ben ... etkisiyle Hep bir kaydın varlığını belirlemek için kayıt sayısını kontrolLINQ to SQL
private Record DoSomething(int id)
{
if(data.Records.Count(q=>q.Id==id) > 0)
{
return data.Records.First(q=>q.Id==id);
}
return null;
}
... bir şeyler yap. Veritabanını iki kez çağırmadan, bunu yapmanın daha "zarif" bir yolu olmalı. Bir yolu var mı?
Birden fazla kayıt döndürülürse SingleOrDefault bir istisna durumu düşünüyorum. Bir Id sorgusu gibi göründüğü için, SingleOrDefault'un iyi olacağını varsaymak muhtemelen güvenlidir, ancak FirstOrDefault daha geneldir. –
'Herhangi bir (r => r = ID == id)', daha verimli olduğundan ('COUNT' yerine "EXISTS" ile sonuçlanacak) tercih edilir. – JulianR