我在这种情况下。我有两个不同对象类型的列表,它们都有一个共享属性值。假设它是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