2015-06-08 57 views
-2

我有一个字段,"Code3"在SQL中的值与"A,B,C"类似,在我的LINQ代码中,如何选择包含"B""Code3"的记录?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 –