J'utilise Ria Service domainservice pour la requête de données.Linq Containsfunction problem
Dans ma base de données, il ya un tableau People avec le prénom, le nom. Ensuite, j'utilise les services EF/RIA pour le traitement des données.
Ensuite, je crée un filtre ViewModel pour capturer les entrées utilisateur, en fonction de l'entrée, je construis une requête linq pour accéder aux données.
A côté serveur, la valeur par défaut DomainService requête pour personne est:
public IQueryable<Person> GetPerson()
{
return this.Context.Person;
}
A côté client, la requête LINQ pour le filtre est quelque chose comme (je l'utilise contient la fonction ici):
if (!String.IsNullOrEmpty(this.LastName))
q = q.Where(p => (p.LastName.Contains(this.LastName)));
La requête linq générée est quelque chose comme (lors du débogage, je l'ai eu):
MyData.Person[].Where(p => (p.LastName.Contains(value(MyViewModel.PersonFilterVM).LastName) || p.Person.LegalLastName.Contains(value(MyViewModel.PersonFilterVM).LastName)))
Lorsque je cours t L'application, j'ai mis "Smith" pour le nom de famille pour la recherche, mais le résultat est totalement hors de propos avec "Smith"!
Comment le réparer?