Asp.net mvc 分离具有集合的对象

Asp.net mvc 分离具有集合的对象,asp.net-mvc,wcf,entity-framework-4,Asp.net Mvc,Wcf,Entity Framework 4,我的DAL中有以下代码: public List<User> Getuser(int userId) { using (var context = this.GetDataContext()) { var user = (from u in context.Users.Include("UserRoles") where u.User

我的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;
            }
        }
公共列表Getuser(int userId)
{
使用(var context=this.GetDataContext())
{
var user=(来自context.Users.Include(“UserRoles”)中的u)
其中u.UserId==UserId
选择u).FirstOrDefault();
分离(用户);
返回用户;
}
}

当调用detach时,我将丢失试图通过WCF发送回客户端的UserRole集合。如果我没有从上下文中分离对象,我会得到“基础连接已关闭:连接意外关闭”。这样做的最佳方式是什么?我可以保留集合而不必再次查询它

关闭此操作的延迟加载。您的实体很可能包含其他关系,WCF也会尝试序列化它们