2012-09-03 20 views
0

我簡單地創建了一個新的對象,它具有一對一的關係。對用戶關係的評論。當我嘗試檢索新對象時,出現錯誤無法訪問已處理的對象。我不確定發生了什麼事。感謝您的任何幫助或建議。linq to sql無法訪問處置的對象。返回一個新創建的對象

 using (var db = new LinqEntityDataContext()) 
      { 

       var comment = new Comment(); 
       comment.CommentBy = GlobalVariables.User.ID; 
       comment.OutPutMessage = commentText.Trim(); 
       comment.PhotoID = int.Parse(pictureID); 
       comment.CommentDate = DateTime.Now; 
       db.Comments.InsertOnSubmit(comment); 
       db.SubmitChanges(); 
       return comment; 
      } 

回答

2

您需要在最後一個括號後面設置return comment;

只是處置之前,都整理的功能,這就是爲什麼你得到的異常

這樣的事情。

var comment = new Comment(); 
using (var db = new LinqEntityDataContext()) 
      {    
       comment.CommentBy = GlobalVariables.User.ID; 
       comment.OutPutMessage = commentText.Trim(); 
       comment.PhotoID = int.Parse(pictureID); 
       comment.CommentDate = DateTime.Now; 
       db.Comments.InsertOnSubmit(comment); 
       db.SubmitChanges();    
      } 
    return comment; 
+0

我這樣做,我仍然得到「無法訪問用戶屬性上的處置對象 – user516883

+0

通過代碼調試,我看着對象Comment.User我看到'comment.User'拋出了類型' System.ObjectDisposedException」 – user516883

0

因此,要理解我想用LINQ to SQL中你必須做出兩次調用一個插入比另一個與該協會獲得的數據。所以在我的代碼中,我只是有兩個使用語句,第二個只是調用獲取創建的id對象(對我來說似乎是多餘的)。我希望有人可以張貼或指導這個帖子到一個真正的解決方案。

相關問題