Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
生成linq子查询_Linq - Fatal编程技术网

生成linq子查询

生成linq子查询,linq,Linq,注册表具有结构 regid userid var Registered = form r in dc.registered where ... // list contains userid as f.k. 我想要已注册的用户列表 那么 var user = from u in dc.users where u.userid in // should contains in Register.userid 我想了解更多关于linq的信息,在那里我可以找到最好的东西?我不确定你的问题是否清

注册表具有结构

regid
userid

var Registered = form r in dc.registered  where ... // list contains userid as f.k.
我想要已注册的用户列表

那么

var user = from u in dc.users where u.userid in // should contains in Register.userid

我想了解更多关于linq的信息,在那里我可以找到最好的东西?

我不确定你的问题是否清楚。。。但是


此资源是Linq的一个很好的起点:

您可以执行以下操作:

var innerQuery = from r in dc.Registered
                 select r;

var outerQuery = from k in dc.Users
                 where (innerQuery).Any(x => x.UserID == k.UserID)
                 select k;
不知道语法是否完全正确,但这是在LINQ中执行子查询的一种方法。无论如何,它应该为你指明正确的方向

关于学习LINQ,这是另一个同样的问题:。

我想你想要:

var users = from u in dc.users 
            join r in Registered on u.userid equals r.userid
            select u;

请注意,这将比“任何”解决方案更有效,因为它将一次性建立注册用户ID集(作为哈希集),此时每个用户的测试都很快。

我不知道为什么,但仍然不起作用。我将“var Registered”分开,因为它还有一些过滤功能。“Not working”是相当模糊的。它编译吗?如果是,结果如何?太多了太少了?错误的结果?