有没有人知道如何使用LINQ-to-Entities应用"where in values"类型条件?我尝试了以下但它不起作用:
var values = new[] { "String1", "String2" }; // some string values
var foo = model.entitySet.Where(e => values.Contains(e.Name));
Run Code Online (Sandbox Code Playgroud)
我相信这可以在LINQ-to-SQL中使用吗?有什么想法吗?
我就在这种情况下。我有两个不同对象类型的列表,它们都有一个共享的属性值。假设是这样invoiceID。
在 SQL 中,如果我想获取所有记录,table_A因为它的列invoiceID值与任何invoiceIdinside匹配table_B,我可能会这样做。
Select *
From table_A
where invoiceID in ( select invoiceId from table_B)
Run Code Online (Sandbox Code Playgroud)
对于这种情况,C# 中等效的 LINQ 或 Lambda 表达式是什么?
我习惯于使用单个值搜索列表中的元素,例如:
var result = list_A.Where(x=>x.InvoiceID = someInvoiceID)
Run Code Online (Sandbox Code Playgroud)
或者.contains()相反。
然而,这只能涵盖单个invoiceID值。
invoiceID我想,我可以为每个运行循环list_B,然后将结果存储在另一个列表中,但我只是想知道是否有更好的方法来做到这一点?