Обычно с помощью BLToolKit я получаю данные из БД следующим образом:
using ( DbManager db = new MyDbManager() )
{
IList<MyObjects> objects = db
.SetCommand(query)//sometimes with additional parameters
.ExecuteList<MyObjects>()
;
}
Я хотел бы иметь возможность делать следующее:
using ( DbManager db = new MyDbManager() )
{
IQueryable<MyObjects> qObjs = db
.SetCommand(query)//sometimes with additional parameters
.ExecuteQuery<MyObjects>()// here I don't want query actually to be executed
;
// ... another logic, that could pass qObj into other part of program
IList<MyObjects> objects = qObjs
.Where(obj=>obj.SomeValue>=SomeLimit) // here I want to put additional filters
.ExecuteList() // and only after that I wan't to execute query and fetch results
;
}
Возможен обходной путьэто с изменением оригинальной строки запроса (изменить часть WHERE), но иногда это довольно сложно.
Есть ли простой способ сделать это?
Спасибо.Любые мысли приветствуются!