Я относительно новичок в LINQ и не знаю, как это сделать. У меня есть IEnumerable список myObject и вы хотите сделать что-то вроде myObject.Description, например «Help%». Как я могу это сделать? БлагодаряПодобное условие в LINQ
ответ
Посмотрите здесь:
http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/10/16/linq-to-sql-like-operator.aspx
Отрывок:
StartsWith
и Contains
:
var query = from c in ctx.Customers
where c.City.StartsWith("L") && c.City.Contains("n")
select c;
И если вы должны использовать его с помощью LINQ к SQL (не работает с LINQ to Objects):
Пользовательские LIKE
(System.Data.Linq.SqlClient.SqlMethods.Like
):
var query = from c in ctx.Customers
where SqlMethods.Like(c.City, "L_n%")
select c;
Вы можете использовать StartsWith, EndsWith или Contains в зависимости, где вы хотите, чтобы проверить:
var result = from o in myCollection
where o.Description.StartsWith("Help")
select o;
При желании вы можете передать StringComparison, чтобы указать, следует ли игнорировать регистр или нет (для StartsWith
и EndsWith
), который будет сделать операцию ведут себя больше как запрос SQL:
var result =
from o in myCollection
where o.Description
.StartsWith("Help", StringComparison.InvariantCultureIgnoreCase))
select o;
Если вы хотите сделать регистронезависимы содержит, вам нужно использовать IndexOf вместо:
var result =
from o in myCollection
where o.Description
.IndexOf("Help", StringComparison.InvariantCultureIgnoreCase) > 0
select o;
'StartsWith' и друзья также позволяют указать тип сравнения. –
@ Matti - Я упоминаю это сразу после первого примера кода. –
Ох ... э-э, хороший момент! Продолжать. –
Обычно вы используете тот же синтаксис, который вы использовали бы вне запроса.
myObject.Description.StartsWith("Help")
ли это на самом деле работает, зависит от того, где вы используете LINQ (это может быть либо побежал в качестве кода, в этом случае все работает, или преобразуются в нечто вроде еще, такие как SQL, которые могут иметь ограничения), но это всегда стоит попробовать.
вы можете использовать string.StartsWith или string.EndsWith или string.Contains свойство строки, чтобы использовать его в качестве Как оператора.
StartsWith будет работать, как 'A%'
EndsWith будет работать на LIKE '% A'
Содержит будет работать как '% A%'
- 1. Как реализовать подобное условие в SparkSQL?
- 2. Имеет ли SQL условие, подобное «IS UNIQUE»?
- 3. Если условие в linq
- 4. IF условие в Linq
- 5. NOT IN Условие в Linq
- 6. Список в Linq, где условие
- 7. Условие условия Linq в запросе
- 8. LINQ- Макс в котором условие
- 9. Linq if/else условие?
- 10. Добавить условие Linq запрос
- 11. LINQ - если условие
- 12. Как применить условие LINQ?
- 13. LINQ условие фильтра
- 14. Linq Динамический или условие
- 15. Linq + Одно условие линия
- 16. запрос относительно PIG- Как положить, если подобное условие в ForEach
- 17. LINQ заявление, как если условие
- 18. LINQ множественного условие «на» п
- 19. LINQ Включить условие не прилагая
- 20. LINQ многообразны и или условие
- 21. linq где условие на подзапросе
- 22. LINQ Где условие против datatable
- 23. LINQ с 2 WHERE условие
- 24. Как добавить условие в выражение linq lambda
- 25. using string как условие в LINQ
- 26. Dynamic, когда условие в выражении LINQ запроса
- 27. Как вставить условие строки в запрос linq
- 28. условие включают в Linq To образований
- 29. Если условие в XDocument Linq запрос
- 30. Linq, если условие в том, где положение
возможный дубликат [Как и в лямбда-выражения и LINQ] (HTTP : //stackoverflow.com/questions/3616215/like-in-lambda-expression-and-linq) –
@Все .... спасибо за комментарии и ответы. Очень полезно и полезно ...... – MikeTWebb