C# linq to sql无法访问已释放的对象。返回新创建的对象
我只是在创建一个新对象,它有一对一的关系。对用户关系的注释。当我尝试检索新对象时,出现错误,无法访问已处置的对象。我不知道发生了什么事。谢谢你的帮助和建议C# linq to sql无法访问已释放的对象。返回新创建的对象,c#,linq-to-sql,C#,Linq To Sql,我只是在创建一个新对象,它有一对一的关系。对用户关系的注释。当我尝试检索新对象时,出现错误,无法访问已处置的对象。我不知道发生了什么事。谢谢你的帮助和建议 using (var db = new LinqEntityDataContext()) { var comment = new Comment(); comment.CommentBy = GlobalVariables.User.ID;
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;
}
您需要设置
返回注释代码>位于最后一个括号之后
在Dispose之前完成函数,这就是为什么会出现异常
像这样的
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;
因此,要理解LINQtoSQL,您必须进行两次调用,一次调用insert,另一次调用insert,以获取关联数据。因此,在我的代码中,我只有两个using语句,第二个语句只是调用来创建id的对象(对我来说似乎是多余的)。我希望有人可以张贴或直接这篇文章到一个真正的解决方案 我这样做了,但仍然得到“无法访问用户属性上的已处置对象。通过代码调试,我查看了对象注释。我看到的用户“Comment.user”引发了类型为“System.ObjectDisposedException”的异常