web-dev-qa-db-fra.com

Comment faire une requête LIKE avec linq?

Comment puis-je effectuer une requête LIKE dans Linq?

J'ai la requête suivante que je voudrais exécuter.

var results = from c in db.costumers
              where c.FullName LIKE "%"+FirstName+"%,"+LastName
              select c;
32
mweber

Vous pouvez utiliser SqlMethods.Like (matchExpression, pattern)

var results = from c in db.costumers
              where SqlMethods.Like(c.FullName, "%"+FirstName+"%,"+LastName)
              select c;

L'utilisation de cette méthode en dehors de LINQ to SQL lèvera toujours une exception NotSupportedException.

34
Julien Hoarau

Essayez d'utiliser string.Contains () combiné avec EndsWith.

var results = from c in db.Customers
              where c.FullName.Contains (FirstName) && c.FullName.EndsWith (LastName)
              select c;
34
Kieron

Essayez comme ça

var results = db.costumers.Where(X=>X.FullName.Contains(FirstName)&&(X=>X.FullName.EndsWith(LastName))
                          .Select(X=>X);
13
Thorin Oakenshield
String [] obj = (from c in db.Contacts
                           where c.FirstName.StartsWith(prefixText)
                           select c.FirstName).ToArray();
            return obj;

StartsWith () et EndsWith () peuvent vous aider beaucoup ici. Si vous souhaitez rechercher des données entre les champs, Contains () peut être utilisé.

4
Ali Haider
 where c.FullName.Contains("string")
2
Praveen Prasad

2019 est arrivé:

Nécessite EF6

using System.Data.Entity;
string searchStr ="bla bla bla";
var result = _dbContext.SomeTable.Where(x=> DbFunctions.Like(x.NameAr, string.Format("%{0}%", searchStr ))).FirstOrDefault();
1
Adel Mourad

Vous pouvez utiliser contient:

string[] example = { "sample1", "sample2" };
var result = (from c in example where c.Contains("2") select c);
// returns only sample2
1
hwcverwe

var StudentList = dbContext.Students.SqlQuery("Select * from Students where Email like '%gmail%'").ToList<Student>();

L'utilisateur peut utiliser cette requête comme dans Linq et remplir le modèle étudiant.

0
rohan mistry