【发布时间】:2018-05-22 09:11:31
【问题描述】:
我有如下 Linq 表达式,它在 CosmosDB 数据库上的 DocumentDB SQL API 上执行。
predicate = predicate.And(x => x.SystemID== "123");
当我在上下文中执行它时,它默认生成如下 SQL 语句。
select * from [Table] where SystemID == "123"
但预期的查询低于
select * from [Table] where id == "123"
但“我的数据库”表有一个名为 id 的列,并且 Model 属性的名称为 SystemID。
如何使用序列化逻辑来解析该属性名称?
注意:我不想使用 AutoMapper。
【问题讨论】:
-
这是默认的还是预期的 select * from [Table] where id == "123"??
-
这是意料之中,我的错误让我纠正我的问题
-
我曾经为Cosmonaut 做类似的事情,以便添加一个额外的表达式。检查ExpressionExtensions.cs中的方法。您可能会覆盖参数名称。
标签: linq lambda azure-cosmosdb jsonserializer