0

1対1の関係を持つ新しいオブジェクトを作成しているだけです。ユーザー関係へのコメント。新しいオブジェクトを取得しようとすると、破棄されたオブジェクトにアクセスできませんというエラーが表示されます。何が起こっているのかわかりません。助けや提案をありがとう。

     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;
            }
4

2 に答える 2

2

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;
于 2012-09-03T22:46:48.513 に答える
0

したがって、理解するには、Linq to SQL を使用して、関連のあるデータを取得するために、挿入する呼び出しを 2 つ行う必要があると思います。したがって、私のコードには2つのusingステートメントがあり、2番目のステートメントは、作成されたidのオブジェクトを取得するために呼び出すだけです(私には冗長に思えます)。誰かがこの投稿を実際の解決策に投稿または指示できることを願っています。

于 2012-09-04T00:29:07.880 に答える