Ho eseguito il debug di questo programma senza alcun risultato e purtroppo non riesco a vedere la radice del problema. Ottengo questa eccezione: l'istanza ObjectContext è stata eliminata e non può più essere utilizzata per operazioni che richiedono una connessione.Entity framework - objectcontext disposed exception
ci sono 2 tavoli: - CustomerSet - OrderSet
un campo denominato CUSTOMER_ID nella tabella Ordini assicura la relazione tra le tabelle, e non v'è una struttura di navigazione virtuale chiamato cliente nella tabella Ordini pure.
Lo scenario è il seguente: inserisco un elemento nella tabella Ordini:
Order order = new Order();
Order.order_id = GenerateId(IdType.Order);
Order.date = DateTime.Now;
Order.Customer_id = GetCustomerId(tbCustomerName.Text);
Insert(order);
All'interno del metodo di inserimento c'è DbContext in un'istruzione using, in modo da smaltire automaticamente quando necessario. Lavoro dentro questo.
Successivamente, ho bisogno di dati dall'elemento precedentemente inserito (ad esempio, ho bisogno di alcune proprietà del campo Cliente). E ora sto sperando che il campo Cliente ha valore:
Order o = GetOrder(order.order_id);
E ho ottenuto questo o con un'eccezione nel campo Cliente: o.Customer ha generato un'eccezione di tipo 'System.ObjectDisposedException'
Stavo giocando con il caricamento pigro, accendendolo o spegnendolo, ma non ho funzionato. La situazione è la stessa ...
Con cosa faccio casino?
Ciò che è veramente bello in questo, che se passo passo dopo passo con F11, spesso funziona correttamente!
Si prega di aiuto! Grazie in anticipo.
È necessario inserire alcuni dettagli del codice, senza la conoscenza di come e quando ricevi gli oggetti DbContext è impossibile sapere cosa sta succedendo. –