小编eri*_*vda的帖子

如何从lambda表达式中获取唯一字符串

我想使用通用存储库和memcached缓存EF4结果.这一切都很有效,除了我需要一个lambda表达式的唯一键表示.

例如,对通用存储库的调用可以是:

Repository<User> userRepository = new Repository<User>();
string name = "Erik";
List<User> users_named_erik = userRepository.Find(x => x.Name == name).ToList();
Run Code Online (Sandbox Code Playgroud)

在我的通用存储库函数中,我需要从lambda表达式中创建一个唯一的键,以将其存储在memcached中.

所以我需要一个可以做到这一点的功能

string GetPredicate(Expression<Func<T,bool>> where)
{

}
Run Code Online (Sandbox Code Playgroud)

函数的结果应该是这个字符串x=> x.Name == "Erik".而不是+<>c__DisplayClass0)我从这个ToString()方法得到的东西.

提前致谢.

c# linq lambda memcached entity-framework-4

5
推荐指数
1
解决办法
1033
查看次数

标签 统计

c# ×1

entity-framework-4 ×1

lambda ×1

linq ×1

memcached ×1