я хочу создать конструктор запросов для создания запроса отчета динамическиDynamic Query Builder с EntityFramework
Предположим, что у нас есть что-то подобное в БД для хранения задач
я пишу этот метод мой репозиторий
public IQueryable<T> fnExecute<T>(params Expression<Func<T, bool>>[] perdicates) where T : class
{
try
{
IQueryable<T> queryable = Context.Set<T>();
foreach (var clause in perdicates)
{
queryable = queryable.Where(clause);
}
return queryable;
}
catch (Exception exp)
{
fnLogExceptions(exp);
}
return null;
}
хорошо в коде и может легко использовать что-то вроде этого
var result = fnExecute<DB.TestTable>(
s=>s.Id < 113,
s=>s.LastName.Contains("txtFoo")
);
и то, что я хочу сделать, это: в каждой задаче я прочитал EntityName в БД и создать предикаты его операторами^_^
здесь проблема:
есть в любом случае что я могу вызывать свой метод, динамически устанавливая тип T во время выполнения и динамически генерируя динамические выражения с помощью имени свойства объекта.
Заранее спасибо