首页 > 解决方案 > 使用 efcore 在 Cosmos db 上查询数据

问题描述

我正在尝试使用 efcore 从 cosmos db 中查询数据。我想传递多个表达式来过滤记录。我的表达方式是:

public void GetData(){

Expression<Func<MyEntity, bool>> val1 = _ => _.Id== 1234;
Expression<Func<MyEntity, bool>> val2 = _ => _.reviewer == "username";

var abc = Or(val1,val2);

dbcontext.GetItemAsync(abc);
}

private static Expression<Func<MyEntity, bool>> 
Or(Expression<Func<MyEntity, bool>> expr1, 
Expression<Func<MyEntity, bool>> expr2)
{
    var body = Expression.OrElse(expr1.Body, expr2.Body);
    return Expression.Lambda<Func<MyEntity, bool>>(body, expr1.Parameters[0]);
}

这样做时,它总是会抛出 _ 未定义的错误。请帮忙。

标签: .netentity-framework.net-coreazure-cosmosdbef-core-3.0

解决方案


Microsoft 已经为 cosmos-db [here]( https://docs.microsoft.com/en-us/ef/core/providers/cosmos/?tabs=dotnet-core-cli创建了一个数据库提供程序,尽管它只支持现在的 SQL API


推荐阅读