分离具有集合的对象

时间:2012-04-09 16:23:06

标签: 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.UserId == userId
                            select u).FirstOrDefault();

                context.Detach(user);

                return user;
            }
        }

当调用detach时,我丢失了我试图发送回客户端VIA WCF的UserRole Collection。如果我没有从上下文中分离对象,我得到'底层连接已关闭:连接意外关闭。'。这样做的最佳方式是什么我可以保留集合而无需再次重新查询它?

1 个答案:

答案 0 :(得分:1)

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