LINQ: передача лямбда-выражения в качестве параметра, который будет выполнен и возвращен методом
Итак, вот сценарий: у меня есть ряд различных классов репозитория, каждый из которых может использовать изолированный контекст данных или общий контекст. В тех случаях, когда используется изолированный контекст, я хочу добавить метод к базовому классу, который позволит мне указать лямбду в качестве параметра, чтобы это выражение выполнялось изолированным контекстом выбранного репозитория и возвращало результат IQueryable , Как будет выглядеть сигнатура метода и как передать выражение в контекст?
Мне нужно, чтобы решение было как можно более универсальным, чтобы можно было использовать любой возможный объект / таблицу модели.
Вот в основном то, что я хочу сделать:
IAssetRepository repo = new AssetRepository(true); // true indicates isolated context
var results = repo.ExecuteInContext<SomeType>(SomeTable.Where(x =>
x.SomeProp.Equals(SomeValue)));