2016-10-03 1 views
2

Je reçois des images de produits de ces services à obtenir cette erreur dans la version 3.8Il existe déjà un DataReader ouverte associée à cette commande qui doit d'abord être fermé dans NopCommerce

var defaultProductPicture=_pictureService.GetPicturesByProductId(productmodel.Id,1).FirstOrDefault(); 
productmodel.productImagUrl = _pictureService.GetPictureUrl(defaultProductPicture, 75, true); 

mes services GetPicturesByProductId est

public virtual IList<Picture> GetPicturesByProductId(int productId, int recordsToReturn = 0) 
    { 
     if (productId == 0) 
      return new List<Picture>(); 


     var query = from p in _pictureRepository.Table 
        join pp in _productPictureRepository.Table on p.Id equals pp.PictureId 
        orderby pp.DisplayOrder 
        where pp.ProductId == productId 
        select p; 

     if (recordsToReturn > 0) 
      query = query.Take(recordsToReturn); 

     var pics = query.ToList(); 
     return pics; 
    } 

Je ne sais pas pourquoi GetPictureByProductId fait face à ces erreurs dans la version plus récente 3.8. Dans la version 3.7 tout fonctionne bien.

+0

Pourriez-vous s'il vous plaît ajouter votre fichier de configuration ici. –

+0

quel fichier de réglage. vous parlez de setting.txt –

+0

Yes.'setting.txt' qui contient la chaîne de connexion. –

Répondre

3

Cela peut se produire si vous exécutez une requête en itérer sur les résultats d'une autre requête.

Il suffit donc ajouter MultipleActiveResultSets=True à la chaîne de connexion dans le fichier setting.txt.

Espérons que cela aide!