だから私はインターウェブと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();
}
}
これが冗長で、見逃した場合は、正しい方向に向けてください。
ありがとう