0

DALに次のコードがあります。

public List<User> Getuser(int userId)
        {
            using (var context = this.GetDataContext())
            {
                var user = (from u in context.Users.Include("UserRoles")
                            where u.UserId == userId
                            select u).FirstOrDefault();

                context.Detach(user);

                return user;
            }
        }

detachが呼び出されると、クライアントVIAWCFに送り返そうとしているUserRoleコレクションが失われます。オブジェクトをコンテキストから切り離さないと、「基になる接続が閉じられました:接続が予期せず閉じられました。」というメッセージが表示されます。コレクションを再クエリせずに保存できるようにするための最良の方法は何ですか?

4

1 に答える 1

1

この操作の遅延読み込みをオフにします。エンティティにはおそらく他の関係が含まれており、WCFはそれらもシリアル化しようとします。

于 2012-04-09T16:31:48.473 に答える