2015-06-08 4 views
-2

У меня есть поле, "Code3" в SQL со значением как-то вроде "A,B,C" и в моем коде linq, как я могу выбрать записи с "Code3", содержащие "B"?Предложение LINQ where содержит определенное значение

Dim dc = New SchedulerDataContext() 
Dim dataset As IEnumerable(Of Events_Tran) 
dataset = From ev In dc.Events_Trans 
      Where ev.Code3.Split(",").ToString = "A" Select ev 
+0

_What_ LINQ, Linq-To-Sql? Обратите внимание, что 'Split' возвращает массив, а' ToString' бессмысленно. –

+0

yes ............. –

+0

Итак, вы получаете исключение, например _ "... не поддерживает перевод на SQL" _? –

ответ

2

Если вы не можете разделить эти значения на свою таблицу (что вы, вероятно, должны делать), то это сделает вашу работу. Если проверить, происходит ли это значение в начале, середине или конце столбца, и если это единственное значение:

dataset = From ev In dc.Events_Trans _ 
      Where ev.Code3.StartsWith("A,") _ 
      Or ev.Code3.Contains(",A,") _ 
      Or ev.Code3.EndsWith(",A") _ 
      Or ev.Code3 = "A" _ 
      Select ev 
+0

удалил мой, как вы изменили на 'StartsWith' и' EndsWith', поэтому этот ответ стал правильным. +1 –

Смежные вопросы