首页 > 解决方案 > 如果值不为空,则基于带有 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 将如何在这里工作。有人可以帮忙吗?

标签: c#linqjoin.net-4.0

解决方案


推荐阅读