我有一篇文章和用户.每篇文章都有一个卖家(用户),每个用户都有很多文章.我通过协会解决了这个问题.
这是我的linq到sql类的样子:
这是协会:
以下是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.’.
错误发生在卖家的获取中.
任何想法如何处理这个?
编辑:Heres’使用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; ....}解决方法 解决方案:
使用DataContext时,只需将DeferredLoadingEnabled属性设置为false:
public static List<Article> Read(){ using (uDataContext dbx = new uDataContext()) { dbx.DeferredLoadingEnabled = false; return dbx.Article.ToList(); }}总结
以上是内存溢出为你收集整理的c# – “无法访问已处置的对象”全部内容,希望文章能够帮你解决c# – “无法访问已处置的对象”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)