Ho un problema durante l'accesso a un oggetto di associazione da Linq a SQL. Ho un articolo di classe e utente. Ogni articolo ha un venditore (che è un utente) e ogni utente ha molti articoli. L'ho risolto con un'associazione."Impossibile accedere a un oggetto disposto"
Ecco come il mio classi LINQ to SQL assomiglia:
E questo è l'associazione:
ecco il codice dietro l'Article.Seller:
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="User_Article", Storage="_Seller", ThisKey="SellerID", OtherKey="ID", IsForeignKey=true)]
public User Seller
{
get
{
return this._Seller.Entity;
}
set
{
...
}
}
Ora, quando voglio ottenere il venditore di un articolo, ottengo il seguente errore:
Cannot access a disposed object. Object name: 'DataContext accessed after Dispose.'.
L'errore si verifica nel get del venditore.
Qualche idea su come gestirlo?
EDIT: Heres' il codice in cui viene utilizzato DataContext:
public static List<Article> Read()
{
using (uDataContext dbx = new uDataContext())
{
return dbx.Article.ToList();
}
}
La lista è utilizzata come segue:
List<Article> articles = ArticleDALC.Read();
foreach (Article article in articles)
{
// Exception appears here!
User seller = article.Seller;
....
}
E 'perché il contesto da cui i dati provengono da smaltire. Dovrai mostrare il codice che ottiene. – spender
Grazie per i commenti, ho aggiunto il codice che fa ottenere! – Nagelfar