我有以下代码:
public IEnumerable<RMAInfo> GetAllRMAsByReseller(string resellerID)
{
using (RMAEntities context = new RMAEntities())
{
IEnumerable<RMAInfo> ret = from r in GetRMAInfos_Internal(context)
where r.ResellerID.ToUpper().Trim() == resellerID
select r;
return ret;
}
}
当我尝试访问返回值时,我得到预期的错误:
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
我知道这是因为延迟加载而发生的,现在它正在尝试加载上下文(通过使用超出范围)。
我的问题是在退出方法之前如何强制加载?
我最初做的就像
return ret.ToList<RMAInfo>();
这很好,但我不确定这是正确的还是最好的方法呢?
答案 0 :(得分:2)
query.ToList();
是强制加载结果的正确方法。你还怎么强制评估linq查询?
答案 1 :(得分:1)
这很好并且被接受了。