我正在尝试在实体查询中执行LIKE子句。我见过的examples使用动态linq来做这种事情,但是我的代码...

var query = context.StudySet
    .Where("it.PatientName LIKE @patientName", new ObjectParameter("patientName", patientName);

...给我一个System.Linq.Dynamic.ParseException与
Additional information: Expression of type 'Boolean' expected

context是EF 6代码优先的DbContext,PatientName是字符串

请告诉我代码有什么问题?

最佳答案

如果要使用DynamicLINQ,则需要像这样更改代码

var query = context.StudySet.Where("it.PatientName.Contains(@0)", patientName);

因为DynamicLinq无法解析LIKE运算符

关于linq - 动态Linq将LIKE添加到where子句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23572277/

10-11 20:45