c# - 如果值不为空,则基于带有 JOIN 的过滤器的 LINQ 查询
问题描述
我正在尝试使用 2 个表的 JOIN 并基于 2 个过滤器执行 LINQ 查询,如果它的值为 null 或为空,我想跳过过滤器。
callRecords = context.cti_ani_dnis
.Join(context.transaction_details, cti => cti.trans_id, td => td.trans_id, (cti, td) => new { cti, td });
现在我想添加一个 where 子句,但前提是过滤器的值不为空
if (string.IsNullOrEmpty(dnis) == false)
{
callRecords = callRecords.Where(x => x.cti.dnis.Contains(dnis)); //getting error here
//error is "One or more types required to compile a dynamic expression cannot be found. Are you missing a reference"
}
我收到了那个错误,智能感知也没有显示任何选项。我曾处理过这样的查询,但没有加入。我不知道 join 将如何在这里工作。有人可以帮忙吗?
解决方案
推荐阅读
- sql - 在 SQL (PostgreSQL) 中,根据最接近日期值的其他字段的唯一组合对字段求和
- ios - 使用 Xcode 11 构建 iOS 应用程序后,速度要慢 20 倍以上
- laravel-artisan - 我正在尝试在命令行上运行 PHP artisan tinker 命令并显示此错误
- laravel - Laravel Cashier 不存卡版本 10.1
- ios - Swift - 在 whereField 子句中传递多个参数以从 firebase 检索
- azure-cosmosdb-mongoapi - CosmosDB MongoDB 3.6 使用复合索引的 sort() 查询失败
- express - Ember Fastboot 重定向到外部 URL
- local-storage - X3DOM ImageTexture url找不到本地文件
- laravel - 数据透视表上的一对多关系
- java - android studio 中是否有 Sun 的包的替代品