我有下面的linq查询,我试图让它变得动态。在此查询中,仅员工ID上的条件是动态的。其他条件将始终适用。
from ce in Context.ComponentEnrollments
join ep in Context.EnrollmentPersons on ce.Id equals ep.EnrollemntId
join c in Context.Components on ce.ComponentId equals c.Id
where ep.Employee.Id == "1234" && (keyword.Contains(ce.Field1) || keyword.Contains(ce.Field2))
select new SearchResult
{
//select columns
// columns in the where clause are not part of the select list
};
这是一个非常古老的数据库,ComponentEnrollments与其他表没有FK,我现在无法创建它。
var predicate = PredicateBuilder.True<EnrollmentPerson>();
predicate.And(p>p.Employee.Id == "1234");
如何将其他两个条件添加到此谓词中,因为它们来自不同的实体?