我在這種情況下。我有兩個不同對象類型的列表,它們都有一個共享屬性值。假設它是invoiceID
。C#Lambda表達式的SQL [IN]語句等價於什麼?
在SQL中,如果我想從table_A
抓住所有記錄中的,它有列invoiceID
價值的比賽裏面table_B
任何invoiceId
,我可能會做這樣的事情。
Select *
From table_A
where invoiceID in (select invoiceId from table_B)
在這種情況下,C#中的等效LINQ或Lambda表達式是什麼?
我用於搜索使用單個值列表中的元素如:
var result = list_A.Where(x=>x.InvoiceID = someInvoiceID)
或.contains()
代替。
但是,這可能只包含一個invoiceID
值。
我想,我可以在list_B
上運行每個invoiceID
的循環,然後將結果存儲在另一個列表中,但我只是想知道是否有更好的方法來做到這一點?
會不會從問題[鏈接](http://stackoverflow.com/questions/7918217/linq-lambda-equivalent-of-sql-in)打算對於電影已經是價值清單的情況?我的問題是,我會在Movies對象內進行拍攝。因此,我無法這樣做,其中(x => Movies.Contains(x.Value))和.Where(x => Movies.MovieRatings.Contains(x.value)),其中Movies是列表()。也許我在這裏做錯了什麼? –
frostshoxx
2013-04-09 19:22:08