Sagotharan Jagadeeswaran Ответов: 2

как использовать like % в запросе linq ?


привет друзья,

я использую MySQL в качестве бэкэнда и WPF аса передний конец в моей программе. в том, что я хочу сделать

select * from mcs_Hall where mcs_Hall_Name = "%j%";
запрос. поэтому я попробую это кодирование
string str = txt_Search.Text.Trim();
dataGrid1.DataContext = from re in MainWindow.mcsEntity.mcs_hall
                        where SqlMethods.Like(re.mcs_Hall_Name, "%j%")          
select new
{
  name = re.mcs_Hall_Name,
  code = re.mcs_Hall_Code
};     


но он бросает это исключение...

LINQ to Entities does not recognize the method 'Boolean Like(System.String, System.String)' method, and this method cannot be translated into a store expression.

помоги мне сделать это.

2 Ответов

Рейтинг:
2

Sagotharan Jagadeeswaran

http://stackoverflow.com/questions/2584598/linq-sqlmethods-like-fails

эта статья поможет мне,.

LIKE 'a%' => StartsWith("a")
LIKE '%a' => EndsWith("a")
LIKE '%a%' => Contains("a")
LIKE 'a%b' => StartsWith("a") && EndsWith("b")
LIKE '%a%b%' => StartsWith("a") && Contains("b")


теперь мой код таков

dataGrid1.DataContext = from re in MainWindow.mcsEntity.mcs_hall re.mcs_Hall_Name.Contains(txt_Search.Text.Trim())


поблагодарить у очень многое,.


Avinash Ramchandra Shinde

спасибо, очень хорошее решение

Рейтинг:
12

Manas Bhardwaj

Обычно, когда я совершенно невежественен (что происходит в большинстве случаев ;)), я копирую сообщение об ошибке и смотрю, есть ли другие люди, имеющие подобную проблему.
Этот [^это то, что я сделал в вашем случае.

И тот самый первая статья[^] кажется многообещающим.


Pravin Patil, Mumbai

Очень хорошее звено Манас...

Manas Bhardwaj

Спасибо!

Sagotharan Jagadeeswaran

спасибо тебе, друг,.

Member 11233366

Дорогой, я должен искать *a*b*c* в столбце таблицы, поэтому, пожалуйста, предложите хорошее решение, на которое я уже потратил столько времени.
С Уважением Васиф
Int32 case_id = (из c в db. CaseTLS
где SqlMethods.Как(гр.Жела, ключ3)
усилитель&;&амп; в.CaseNumber ==ключ1
усилитель&;&амп; в.Год == ключ2
выберите c.Наблюдения).Метода firstordefault();
где key3 содержит этот шаблон, но я получаю исключение для метода like