'Blokları' kullanarak kodlama yapıyorum ama bir IQueryable'ı, kullanmadan önce nesneye yerleştirilmeden aşağıdakilerden dönüp dönemeyeceğimi merak ediyorum. dbContext bir 'using' bloğu ile bir IQueryable Linq'den SQL sorgusuna nasıl döndürebilirim?
public IQueryable<Contact> GetContacts(string clientID)
{
using (dbDataContext db = new dbDataContext())
{
var contacts = from _contacts in db.Contacts
where _contacts.ClientID == clientID
orderby _contacts.LastName ascending
select _contacts;
return contacts;
}
}
ben sadece 'kullanarak' bloğu kaldırmak ve Net nesneleri yönetmesine izin veya Linq erken sorgu çalıştırmak ve doldurulan nesneyi döndürmek için alabilirsiniz etmeyin.
, veri içeriğini açıkça atmak için gerekli olmadığını unutmayın. yine de iyi bir soru. – fearofawhackplanet
@fearofawhackplanet - er, evet öyle. Herhangi bir atılabilir nesnenin ** ** atılması gerektiği varsayılmalı ve uygun şekilde ele alınmalıdır. Açık bir bağlantıyı tutabilir, örneğin ... –
@Marc: Sadece birkaç blogda okuduğum şeyi ve ScottGu ve Linq ekibinin hemen hemen tüm örneklerini izliyorum. Resmi microsoft pozisyonu, toplayabildiğim kadarıyla, kendinizi daha iyi hissettirirseniz atabilirsiniz, ama gerçekten gerekli değildir. Http://leedumond.com/blog/about-disposing-the-datacontext/ adresindeki bir kullanım imhasına ve bu soruda açıklanan ertelenmiş yürütme sorununa bir örnek olarak bakın. – fearofawhackplanet