Я пытаюсь выполнить предложение LIKE в запросе сущности. В примерах, которые я видел, использовался динамический 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 - это DbContext из EF 6, код сначала, имя пациента - это строка
Подскажите пожалуйста, что не так с моим кодом?
var query = context.StudySet.Where((it) => it.PatientName.Contains(patientName))
без использования Dynamic LINQ? - person Mark   schedule 09.05.2014SqlMethods.Like
сработает, как в этот ответ? Просто не уверен, что он работает с EF. - person Mark   schedule 09.05.2014SqlQuery
и необработанного SQL, например,var query = context.StudySet.SqlQuery("select * from StudySet where PatientName LIKE @patientName", new SqlParameter("@patientName", patientName));
? - person Mark   schedule 10.05.2014var query = context.StudySet.Where(s => s.PatientName.Contains(userInput))
- я понимаю, что это не Dynamic Linq, но если вы жестко кодируете имя своей таблицы в строке, это будет то же самое. - person Nate   schedule 10.05.2014