'dan bir sonuç döndürürseniz, sonucu almak için bir foreach döngüsüne sahip olmanız gerekir mi? Ya da daha iyi bir yolu var mı?Yalnızca bir sonucu döndürmesi gereken bir LINQ sorgunuz varsa, LINQ Sorgusu
cevap
var myLinqObj = db.MyObjects.Take(1).SingleOrDefault();
Sadece şöyle .first() veya .FirstOrDefault() kullanabilirsiniz:
Foo foo = query.Select(a => a.Name == "foo").FirstOrDefault();
// Will return a default value if no object is found in the DB
db.Table.SingleOrDefault(x => x.something == someParameter);
veya
// Will throw an exception if records are not found
db.Table.Single(x => x.something == someParameter);
Teşekkür Mehrdad hem çizgiler var ... yorum için güncellendi.
Sorgunuzun birden fazla kaydın döndürülmesiyle sonuçlanması olasıysa, (yorumlarda belirtildiği gibi) Single()
ve SingleOrDefault()
yanlış yöntemlerdir. Aynı sözdizimini saklarsınız, ancak sırasıyla First()
ve FirstOrDefault()
'u arayın.
'' .Where (predicate) .Single() 'ile' .Single (predicate) 'kullanabilirsiniz. –
Tek(), sekansta birden fazla öğe varsa, bir istisna oluşturacaktır. Bir istisna atmak istemiyorsanız, First() veya FirstOrDefault() öğesini de kullanabilirsiniz. – LBushkin
@Mehrdad - Değişikliği yaptım, ancak ikisi arasında bir performans farkı var mı? Ben genellikle tercih ederim. Nerede (yüklem) .Single() çünkü niyetimi biraz daha açık bir şekilde ifade ettiğini düşünüyorum. –
Sen First
veya Single
birini kullanabilirsiniz.
First
birden fazla satır ya da sadece bir tane olup olmadığını, ilk satır döndürür.
Single
tek satır iade edilmesini beklediği ve birden satır varsa bir istisna atar. Bu nedenle, yalnızca bir satırınız olmasını beklerseniz, sorunu hemen görür ve sorunu giderebilmeniz için Single
potansiyel olarak daha iyi bir seçimdir.
LINQ-to-XML kullanıyorsanız, tek bir öğeye sahip olduktan sonra ekimin Value
özelliğini kullanacağını söylediniz.
Ve Select new { *cols* }
eğer o bir liste ya da dizi veya tablo. Örnek. ... yeni {c.Name, c.Value};
Bu ipucu, değerleri almanızı sağlamak içindir.
- 1. Linq Sonucu Boşsa
- 2. Intersect LINQ sorgusu
- 3. Linq sorgusu Gridview
- 4. Parametrik LINQ sorgusu
- 5. LINQ sorgusu çoklu topaklarla
- 6. Linq to SQL - sorgusu
- 7. LINQ Sorgusu İçinde Bir Döküm Yapmak
- 8. LINQ
- 9. LINQ
- 10. C# linq ile arama sorgusu
- 11. LINQ
- 12. LINQ
- 13. LINQ
- 14. LINQ
- 15. LINQ: Bir toplama koleksiyonunda bir öğeyi alabilirsiniz güzel bir basit LINQ sorgusu için arıyorum tek bir nesne
- 16. linq
- 17. linq
- 18. LINQ to Varlıklar üç tablo birleştirme sorgusu
- 19. LINQ
- 20. Derlenmiş bir LINQ sorgusu ve DataLoadOptions ... bir twist ile!
- 21. Bir LINQ SELECT
- 22. LINQ
- 23. LINQ
- 24. Linq
- 25. Linq sonucu dizi dizisi olarak nasıl edinilir?
- 26. LINQ
- 27. LINQ
- 28. Linq Sorgu sonucu ben SQL Linq to kullanarak bir veritabanına bazı satırları eklemek istediğiniz
- 29. LINQ
- 30. LINQ
"** ** sorgusu yalnızca bir sonuç döndürür" sorgusu sorulursa, sorgunun birden fazla getirilmesi, hataların işaretlenmesi durumunda tek tek daha etkilidir. –
@Martinho Fernandes Haklısınız, hiç kullanmamıştım Tek –