У меня есть общий вызов метода репозитория, который выглядит следующим образом
var result = Repository<MyDbClass>.Get(x => x.MyProperty1 == "Something"
&& (!x.MyProperty2.HasValue || x.MyProperty2 == "SomethingElse"));
Я надеюсь вызвать этот метод с помощью отражения. В основном я ищу способ передать лямбда-выражение в качестве параметра с использованием отражения.
ИЗМЕНИТЬ
На самом деле мой тип репозитория будет известен только во время выполнения. Таблицы во всех этих репозиториях похожи и имеют некоторые общие столбцы. Именно по этим столбцам применяется фильтр. Поэтому я не могу передать выражение как есть.
public void SomeMethod<T, TR>(T repository, TR dataObject)
{
var type = repository.GetType();
var dataType = dataObject.GetType();
var getMethod = type.GetMethod("Get");
//How to invoke the method by passing the lambda as parameter(??)
}