我的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。如果我没有从上下文中分离对象,我得到'底层连接已关闭:连接意外关闭。'。这样做的最佳方式是什么我可以保留集合而无需再次重新查询它?
答案 0 :(得分:1)
关闭此操作的延迟加载。您的实体很可能包含其他关系,WCF也会尝试序列化它们。