所以我搜索了互联网和 SO,但我似乎无法找到我的问题的答案。我看到一些地方人们可以取消事情,因为他们正在使用 IQueryable 但在我的情况下,我有一个存储库并且我正在返回一个列表,但我希望能够取消对仅返回数据的查询的调用 -嗯,我不知道我解释得很好。希望这个代码片段应该更清楚。
public class EdiRepository : GenericRepository<EdiEventLog, Guid>, IEdiRepository
{
private readonly ISessionStorage _sessionStorage;
private ISession _session;
public EdiRepository(ISessionStorage sessionStorage)
: base(sessionStorage)
{
_sessionStorage = sessionStorage;
}
public void Cancel()
{
//Uhm, this doesn't seem like the right thing to do.
_session.Dispose();
}
public IList<EdiEventLog> GetAllLogs(List<String> eventTtypes)
{
_session = GetSession();
var query = from q in _session.Query<EdiEventLog>()
where eventTtypes.Contains(q.EventType)
select q;
return query.ToList();
}
}
如果这是多余的并且我刚刚错过了它,请指出我正确的方向,但我所看到的一切都假设您正在返回并且 IQueryable 不是列表。
谢谢