I DAL bir besleme yöntemi vardır:Getiri veritabanı kayıtları LinqToSql kullanarak mı?
public IEnumerable<RecordType> GetRecords()
{
using (LinqDataContext context = new LinqDataContext())
{
var records = context.RecordTable;
foreach (RecordType record in records)
{
yield return record;
}
}
}
tüketici yöntemi foreach
döngü kayıtları kullanır. Bu şekilde, LinqToSql olay yerinin arkasında DataReader kullandığı için, RecordTable
arasındaki tüm kayıtları önbelleğe almayan bir bellek kullanımını kaydetmek istiyorum.
- verim-dönen yukarıda kaynak tasarrufu ve daha hızlı bir diziye tüm kayıtları önbelleğe daha çalıştığını olduğu doğru mudur (.ToArray()):
olsa bu senaryo üzerinde iki sorum var? Bir hata tüketen yöntemin
foreach
döngü içinde meydana gelecektir eğer alıcı yöntemi (ortadaforeach
döngü kıracak eğer veri bağlantısı otomatik olarak düzgün (I
using
deyimi demek) kapalı olacak gibi buldum VEYA gerekli kayıt vebreak
)?
Aslında 2 - bu en olarak ' –
@MarcGravell Olmadığını (doğru) söz ediyoruz sanıyorum using' olan "garantili" olarak kesinlikle değil Numaralandırma tamamlandı mı, yoksa başka bir şeyi mi özlüyorum? –
evet elle yineleyici yürüyüş ve yanlış yapıyor. En aklı başında insanların kullanacağı 'foreach' kullanırken sorun değil. –