У меня есть следующий метод, который я могу передать в выражении лямбда для фильтрации моего результата, а затем метод обратного вызова, который будет работать в списке результатов. Это всего лишь одна конкретная таблица в моей системе, я буду использовать эту конструкцию снова и снова. Как я могу создать общий метод, скажем, DBget, который принимает таблицу как параметр (объектная структура данных ADO.NET должна быть справедливой) и передать фильтр (лямбда-эксперсия).Общий доступ к базе данных и базы данных
public void getServiceDevelopmentPlan(Expression<Func<tblServiceDevelopmentPlan, bool>> filter, Action<List<tblServiceDevelopmentPlan>> callback)
{
var query = from employerSector in sdContext.tblServiceDevelopmentPlan.Where(filter)
select employerSector;
var DSQuery = (DataServiceQuery<tblServiceDevelopmentPlan>)query;
DSQuery.BeginExecute(result =>
{
callback(DSQuery.EndExecute(result).ToList<tblServiceDevelopmentPlan>());
}, null);
}
Мой первый удар на это:
public delegate Action<List<Table>> DBAccess<Table>(Expression<Func<Table, bool>> filter);