首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq 中 IN 怎么实现

2013-10-11 
linq 中 IN 如何实现?我这样写哪里有问题呢?相当于SELECT * FROM listB WHERE value IN (SELECT * from li

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中测试通过?

热点排行