Poprawne użycie using na bazie danych

0

Witam.

Tutaj zamieszczam kod :


            DataClasses1DataContext dc = new DataClasses1DataContext();
            
                List<Product> list = dc.Product
                    .Join(dc.ProductSubcategory,
                    product => product.ProductSubcategoryID,
                    productSubcategory => productSubcategory.ProductSubcategoryID,
                    (product, productSubcategory) => new { product, productSubcategory })
                    .Join(dc.ProductCategory,
                    joinedTable => joinedTable.productSubcategory.ProductCategoryID,
                    productCategory => productCategory.ProductCategoryID,
                    (joinedTable, productCategory) => new { joinedTable, productCategory})
                    .Where(result => result.productCategory == null)
                    .Select(result => result.joinedTable.product)
                    .ToList();
            return list;

Wykonuje się on poprawnie, jednak nie mogę użyć "using" dla tego kody ponieważ dostaję błąd : "Cannot access a disposed object. Object name: 'DataContext accessed after Dispose.'."

Niestety nie wiem jak sobie z nim poradzić.

Pozdrawiam.

0

Obstawiam, że poza blokiem using odczytujesz jakąś właściwość, która jest leniwie ładowana. W takiej sytuacji możesz użyć np. projekcji aby wczytać wszystkie potrzebne dane za jednym razem, albo przerobić aplikację tak, aby dispose było wołane jak już wszystko zostanie odczytane (np. przez zrzucenie tego na kontener DI)

1 użytkowników online, w tym zalogowanych: 0, gości: 1