Я хотел бы кэшировать результат EF4, используя общий репозиторий & memcached. Все это прекрасно работает, за исключением того факта, что мне нужно уникальное представление ключа для лямбда-выражения.
Например, вызов общего репозитория может быть:
Repository<User> userRepository = new Repository<User>();
string name = "Erik";
List<User> users_named_erik = userRepository.Find(x => x.Name == name).ToList();
В моей общей функции хранилища мне нужно сделать уникальный ключ из лямбда-выражения, чтобы сохранить его в memcached.
Так что мне нужна функция, которая может сделать это
string GetPredicate(Expression<Func<T,bool>> where)
{
}
Результатом функции должна быть эта строка x=> x.Name == "Erik"
. А не что-то вроде +<>c__DisplayClass0)
, которое я получаю из метода ToString()
.
Заранее спасибо.