Bir müşteri masanınEntityFramework
var customers= context.CustomerEntities.Include("Addresses").Select(Mapper.Map).ToList();
mapper fonksiyonu verileri alır aşağıdaki kod, bir iş, varlık nesnesi eşler var nesnesi ve şu şekilde görünüyor: Yukarıdaki kod iyi çalışır. Ancak
, bunu deneyin:
var customers= context.CustomerEntities.Select(Mapper.Map).ToList();
şu hata mesajını alıyorum: Mapper fonksiyon yürütülür There is already an open DataReader associated with this Command which must be closed first
.
Şimdi, bu sorunu çözmek için bağlantı dizgimde multipleactiveresultsets=True
'u ayarlamam gerektiğinin farkındayım. Denedim ve problemimi çözdü.
Ancak, SQL profilleyicisini çalıştırdığımda, varlık çerçevesinden tüm müşterileri sorgulamak, onlara gerek duymama rağmen otomatik olarak tüm adresleri de aldılar.
multipleactiveresultsets=True
'u ayarlamaya ek olarak bir geçici çözüm var mı? Adreslerin her zaman tembel olmasını istemiyorum.
Muhtemelen kodunuzu örnekleminizden önce kontrol etmek isteyeceksiniz, bahis kodunuzun tetiklenmesinden önce başka bir etkinliğin aktif olduğunu tahmin ediyorum. – Middas
Hayır Başka bir etkin içeriğim yok –
Dan, bir konuda olabilirsiniz. Bunu deneyelim: –