实体框架和表达式<func <>&gt;虚拟属性的谓词

时间:2015-10-12 11:49:08

标签: c# entity-framework

我尝试使用Expression&gt;过滤EF实体的虚拟(外键控对象)属性。谓词。

谓词:

Expression<Func<AspNetUsers, bool>> HasKyc() {
    return user => (
        (user.IsProfessional && KycCorporations.Any(e => e.UserId.Equals(user.Id) && e.GovId.Equals(user.EntityGovId)))
        ||
        (!user.IsProfessional && KycIndividuals.Any(e => e.UserId.Equals(user.Id) && e.GovId.Equals(user.GovId)))
    );
}

如果我这样使用它:

AspNetUsers.Where(HasKyc())

它运行正常,但随后尝试应用于虚拟属性:

Commitments.Where(e => !AspNetUsers.Where(f => f.Id.Equals(e.UserId)).Any(HasKyc()))

我得到&#34;不支持的重载用于查询运算符&#39;任何&#39;&#34;。

0 个答案:

没有答案