L'instance de ObjectContext a été éliminé et ne peut plus être utilisé pour les opérations qui nécessitent une connexion

Je suis en train d'élaborer un Service de Données WCF. lorsque j'essaie d'accéder à partir du côté client, j'ai cette exception :

ObjectContext instance a été éliminé et ne peut plus être utilisé pour les opérations qui nécessitent une connexion.

Code:

[WebGet]
public IQueryable<Student> GetUsersByClassId(string classId)
{
    Check.Argument.IsNotEmptyOrNull(classId, "classId");

    using (var db = new schoolContext(connectionString))
    {
        ((IObjectContextAdapter)db).ObjectContext.ContextOptions.ProxyCreationEnabled =  false;
        ((IObjectContextAdapter)db).ObjectContext.ContextOptions.LazyLoadingEnabled = false;

        var studentQry = from s in db.Student.Include("Class")
                         where s.Class.Id == classId
                         select s;

        if(studentQry == null) 
            return new List<Student>().AsQueryable();
        else 
           return studentQry;
}
  • Vous devez évaluer le IQueryable avant de le retourner, de le transformer en un IEnumerable ou similaire, vous êtes essentiellement en retour d'un paresseux de la collection, et ensuite aspirer à l'écart de sa connexion de base de données avant que quiconque ait eu une chance de saisir les données à travers elle.
InformationsquelleAutor Attilah | 2011-03-29