powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LiNQ поиск по тексту
18 сообщений из 18, страница 1 из 1
LiNQ поиск по тексту
    #37922360
RUSYA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if (this.prpProductName != null) products = products.Where(o => o.Name == this.prpProductName);

o.Name == this.prpProductName
это точное совпадение, как сделать, если найти продукты по части наименования. Т.е. если в o.Name есть подстрока this.prpProductName

Заранее спасибо
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37922556
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37922634
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37922758
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Код: c#
1.
2.
3.
4.
5.
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public bool Contains(string value)
{
    return this.IndexOf(value, StringComparison.Ordinal) >= 0;
}


Это я так, для справки :)
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37923147
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЭто я так, для справки :)
Так короче же и читабельнее :)
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925072
Anton_juk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУ,
Это я так, для справки :)

Речь идет о linq, потенциально при разборе Expression разными провайдерами будет генерироваться разный код при использовании IndexOf и Contains
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925086
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton_jukskyANAМСУ,
Это я так, для справки :)

Речь идет о linq, потенциально при разборе Expression разными провайдерами будет генерироваться разный код при использовании IndexOf и ContainsПример привести можете?
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925096
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton_juk, к примеру Contains превратиться в LIKE, а IndexOf в CHARINDEX, Вы об этом?
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925114
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAnton_juk, к примеру Contains превратиться в LIKE, а IndexOf в CHARINDEX, Вы об этом?
Это называется трансляция )
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925179
Anton_juk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAnton_juk, к примеру Contains превратиться в LIKE, а IndexOf в CHARINDEX, Вы об этом?

Пример оперативно могу привести только для НХибернейта.

Код: c#
1.
from p in session.Query<Product> where p.Name.Contains("bla-bla.bla") select p


работает, а код
Код: c#
1.
from p in session.Query<Product> where p.Name.IndexOf("bla-bla.bla") select p


выкидывает NotSupportedException
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925185
Anton_juk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton_juk,

конечно же
from p in session.Query<Product> where p.Name.IndexOf("bla-bla.bla")>=0 select p
иначе не скомпилится (переделал пример из своего более сложного запроса)
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925533
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAAnton_juk, к примеру Contains превратиться в LIKE, а IndexOf в CHARINDEX, Вы об этом?
Это называется трансляция )Я в работу с ORM толком ещё не погружался, терминологии не знаю. Зато теперь знаю, что NHibernate не поддерживает IndexOf, а мог бы :)
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925655
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЗато теперь знаю, что NHibernate не поддерживает IndexOf, а мог бы :)
Хм. А тут говорят, что поддерживает.
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925810
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, выходит Anton_juk нас обманывает? :)
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37925884
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУ, выходит Anton_juk нас обманывает? :)
Возможно, версия у него ниже, хз.
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37926120
Anton_juk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВозможно, версия у него ниже, хз.
Версия свежая. Посмотрел в исходники, IndexOf поддерживается, но не с аргументом StringComparison.Ordinal

Т.е. я немного обманул всех, на самом деле выполнял такой запрос и он выдавал исключение
Код: c#
1.
from p in session.Query<Product> where p.Name.IndexOf("bla-bla.bla", StringComparison.Ordinal) select p



А запрос
Код: c#
1.
from p in session.Query<Product> where p.Name.IndexOf("bla-bla.bla") select p


выполняется. Причем skyANA был прав, он транслируется в SQL charindex
А Contains транслируется в SQL like '%bla-bla-bla%'
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37926272
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton_jukПричем skyANA был прав, он транслируется в SQL charindex
А Contains транслируется в SQL like '%bla-bla-bla%'Ну а charindex и like '%bla-bla-bla%' в принципе идентичны в данном случае :)
...
Рейтинг: 0 / 0
LiNQ поиск по тексту
    #37940329
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RUSYA,

if (this.prpProductName != null) products = products.Where(o => o.Name .Contains( this.prpProductName ) );
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LiNQ поиск по тексту
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]