构建一个表达式>从字符串
本文关键字:bool 字符串 Func 一个 表达式 构建 | 更新日期: 2023-09-27 18:14:14
我有一个Expression<Func<T,bool>>
变量,使用它来过滤Linq to entity
查询:
Expression<Func<Person,bool>> predicate= new Expression<Func<Person,bool>>();
predicate= t=>t.FirstName.Contains("A");
....
var result = _Context.Persons.Where(predicate).ToList();
我希望用户可以将他定义的谓词保存为文件或数据库中的字符串,以便下次使用它。所以我保存谓词为string
:
string str = predicate.ToString();
SaveToDb(str);
是否有办法从保存的str
重建Expression<Func<T,bool>>
?
我建议您使用表达式树序列化器开源项目。有了它,你可以序列化和反序列化表达式树,将它们存储在db中或发送给另一个组件,如果需要,可以使用ToString方法进行调试或报告。