Подтвердить что ты не робот

Как сделать запрос LIKE с помощью linq?

Как я могу выполнить LIKE-запрос в Linq?

У меня есть следующий запрос, который я хотел бы выполнить.

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

Ответ 1

Вы можете использовать SqlMethods.Like(matchExpression, pattern)

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

Использование этого метода вне LINQ to SQL всегда будет генерировать исключение NotSupportedException.

Ответ 2

Попробуйте использовать string.Contains() в сочетании с EndsWith.

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

Ответ 3

Попробуйте это

var results = db.costumers.Where(X=>X.FullName.Contains(FirstName)&&(X=>X.FullName.EndsWith(LastName))
                          .Select(X=>X);

Ответ 4

String [] obj = (from c in db.Contacts
                           where c.FirstName.StartsWith(prefixText)
                           select c.FirstName).ToArray();
            return obj;

StartsWith() и EndsWith() могут помочь вам здесь. Если вы хотите найти данные между полем, можно использовать Contains().

Ответ 5

 where c.FullName.Contains("string")

Ответ 6

Вы можете использовать содержит:

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

Ответ 7

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

Пользователь может использовать подобный запрос в Linq и заполнять модель студента.