Debugowałem ten program bez żadnego wyniku i niestety nie widzę źródła problemu. Otrzymuję ten wyjątek: Instancja ObjectContext została usunięta i nie można jej już używać do operacji wymagających połączenia.Framework Entity - obiektcontext dispposed wyjątek
Istnieją 2 tabele: - CustomerSet - OrderSet
Pole o nazwie customer_id w tabeli Orders gwarantuje relacji między tabelami, a tam jest wirtualną własność nawigacji o nazwie klienta w tabeli Zamówienia, jak również.
Scenariusz jest następujący: wstawić element do tabeli Zamówienia:
Order order = new Order();
Order.order_id = GenerateId(IdType.Order);
Order.date = DateTime.Now;
Order.Customer_id = GetCustomerId(tbCustomerName.Text);
Insert(order);
W metodzie Insert jest DBContext w użyciu instrukcji, więc automatycznie wyrzucać gdy są potrzebne. Pracuję w tym.
Po tym czasie potrzebuję danych z wcześniej wstawionego elementu (na przykład potrzebuję jakiejś właściwości pola Klient). A teraz mam nadzieję, że pole Klient dostaje wartość:
Order o = GetOrder(order.order_id);
I mam tę O z wyjątkiem w dziedzinie gości: o.Customer zwrócił wyjątek typu „System.ObjectDisposedException”
Grałem z leniwym ładowaniem, włączałem lub wyłączałem, ale nie wyszło. Sytuacja jest taka sama ...
Co powoduje bałagan?
Co jest w tym naprawdę miłe, że jeśli pójdę krok po kroku z F11, często działa poprawnie!
Proszę pomóc! Z góry dziękuję.
musisz odpowiedzieć trochę więcej szczegółów o kodzie, bez wiedzy o tym, jak a kiedy dostajesz obiekty DbContext, nie możesz wiedzieć, co się dzieje. –