读书人

linq 中 IN 怎么实现

发布时间: 2013-10-11 14:52:39 作者: rapoo

linq 中 IN 如何实现?
我这样写哪里有问题呢?

相当于

SELECT * FROM listB WHERE value IN (SELECT * from listA) 



List<string> listA = {"A","B","D"};

List<B> listB = new List<B>();
listB.Add(new B { value = "A", text = "A for text" });
listB.Add(new B { value = "B", text = "B for text" });
listB.Add(new B { value = "C", text = "C for text" });
listB.Add(new B { value = "D", text = "D for text" });
listB.Add(new B { value = "E", text = "E for text" });
listB.Add(new B { value = "F", text = "F for text" });

listB = listB.Where(k => listA.Contains(k.valueField));

[解决办法]
var query = listA.SelectMany(x => listB.Where(y => y.value == x))
[解决办法]
SELECT * FROM listB WHERE value IN (SELECT * from listA)
这句话你能够在sql server中测试通过?

读书人网 >.NET

热点推荐