问题描述
我正在尝试将前端查询构建器映射到后端 ORM (Ormlite)。
例如,前端可能会发送 3 个字符串值:SomeField
、=
foo
。
var q = db.From<MyEntity>()
.Where(x => x.someField == "foo")
所以我需要做的是想出一种方法来从字符串构建 where 谓词。
我可以看到 Where
期望的类型是:Expression<Func<MyEntity,bool>>
所以我想我需要这样的东西:
var q = db.From<MyEntity>()
.Where(GetQueryPart("SomeField","=","foo");
//....
public Expression<Func<T,bool>> GetQueryPart<T>(string field,string queryOperator,string value)
{
//...
}
但我不确定这是否是正确的方法或从哪里开始。我查看了此处的文档 https://docs.microsoft.com/en-us/dotnet/api/system.linq.expressions.expression?view=net-5.0,但我不清楚如何构建表达式。
有人可以帮我解决这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)