Я использую службу доменов Ria Service для запроса данных.Linq Containsfunction problem
В моей базе данных есть таблица Люди с именем, фамилия. Затем я использую службы EF/RIA для обработки данных.
Затем я создаю фильтр ViewModel для захвата входных данных пользователя, основываясь на его вводе, я строю запрос Linq для доступа к данным.
На стороне сервера, DomainService запрос по умолчанию для человека является:
public IQueryable<Person> GetPerson()
{
return this.Context.Person;
}
На стороне клиента запросов LINQ для фильтра что-то вроде (я использую Содержит функции здесь):
if (!String.IsNullOrEmpty(this.LastName))
q = q.Where(p => (p.LastName.Contains(this.LastName)));
Сгенерированный запрос linq - это что-то вроде (при отладке, я получил его):
MyData.Person[].Where(p => (p.LastName.Contains(value(MyViewModel.PersonFilterVM).LastName) || p.Person.LegalLastName.Contains(value(MyViewModel.PersonFilterVM).LastName)))
Когда я запускаю t он приложение, я положил «Смит» для фамилии для поиска, но результат совершенно не имеет отношения к «Смиту»!
Как это исправить?