我的 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;
}
}
当调用分离时,我丢失了我试图通过 WCF 发送回客户端的 UserRole 集合。如果我不将对象从上下文中分离出来,我会得到“底层连接已关闭:连接已意外关闭。”。这样做的最佳方法是什么,我可以保留集合而不必再次重新查询它?