2013-12-12 65 views
1

這應該很容易,但我無法使其工作。Linq選擇項目在列表中的位置

我有一個列表(的T)和一個LINQ到SQL查詢。我想選擇所有記錄中查詢特定的鍵也是在列表

找到所以我這樣做:

Public Class myChekList 
    Public Property custNo As String 
    Public Property No As String 
End Class 

'''fill a list object myChkLst with items  

    Dim query = From a In db.MyTable.Where(myChkLst(Function(f) f.No).Contains(a.No)) 

但是,這是可怕的錯誤。有誰能夠幫助我?

此致敬禮。

+1

爲什麼是 「可怕的錯誤」? –

+1

[LINQ查詢示例](http://msdn.microsoft.com/en-us/vstudio/bb688084.aspx),[101 Visual Basic LINQ示例](http://msdn.microsoft.com/en-us/ vstudio/bb688088.aspx) –

+0

你並不遙遠! – Ric

回答

1

未經檢驗的,但這樣的事情:

Dim query = db.MyTable.Where(Function(f) myChkLst.Select(Function(c) c.No).Contains(f.No)) 
+0

謝謝 - 這一個工作馬上! – micknt

+0

不客氣。 – Ric

0

可以使用.ANY要麼

Dim query = From a In db.MyTable.Where(Function(f) myChkLst.any(function(c) c.No = f.no))) 
+0

似乎OP需求'不包含'=' –

+0

@huMptyduMpty這在功能上是等價的,它只是更詳細的語法。 – Servy

+0

由於看起來列表中有多個字段,它應該是select/contains或any(我認爲) –