linqからsqlへの関連オブジェクトにアクセスする際に問題があります。 私はArticleとUserのクラスを持っています。各条項には売り手(ユーザー)がおり、各ユーザーには多数の記事があります。私は協会でそれを解決しました。「廃棄オブジェクトにアクセスできない」
これは、SQLのクラスに私のLINQは、どのように見えるかです:
そして、これが関連である:ここでは
は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
{
...
}
}
記事の売り手を取得したいとき、次のエラーが表示されます。
Cannot access a disposed object. Object name: 'DataContext accessed after Dispose.'.
このエラーは販売者に発生します。
これを処理する方法はありますか?
EDIT:相続人のDataContextが使用されているコード:
public static List<Article> Read()
{
using (uDataContext dbx = new uDataContext())
{
return dbx.Article.ToList();
}
}
リストは、次のように使用されます。
List<Article> articles = ArticleDALC.Read();
foreach (Article article in articles)
{
// Exception appears here!
User seller = article.Seller;
....
}
コンテキストは、そこからデータが配置されているから来ているためです。 getを行うコードを表示する必要があります。 – spender
コメントのおかげで、私はgetを行うコードを追加しました! – Nagelfar