Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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
C# 在没有循环的情况下,我需要哪个LINQ表达式?_C#_Asp.net_Linq To Sql - Fatal编程技术网

C# 在没有循环的情况下,我需要哪个LINQ表达式?

C# 在没有循环的情况下,我需要哪个LINQ表达式?,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,我有一个MSSQL数据库,具有LINQ to SQL 我有三张桌子。 请求->id,字符串名称 Results->id、requestID、int跳跃 Places->id、resultID、int-location 然后,使用一个输入字符串,我需要得到一个ICollectable或数组,或者满足以下条件的Place: 每个请求具有名称=输入,获取其ID。[您可以假设只有一个请求具有] 每个结果都有请求ID=ID[来自上面]-获取其ID 每个Place都有resultID='id[来自上面]-附


我有一个MSSQL数据库,具有
LINQ to SQL

我有三张桌子。
请求->id,字符串名称

Results->id、requestID、int跳跃

Places->id、resultID、int-location


然后,使用一个输入
字符串
,我需要得到一个ICollectable或数组,或者满足以下条件的
Place
: 每个
请求
具有
名称
=
输入
,获取其ID。[您可以假设只有一个请求具有]
每个
结果
都有
请求ID
=
ID[来自上面]
-获取其
ID

每个
Place
都有
resultID=
'id[来自上面]-附加到数组以进行进一步处理。

我通过循环所有
结果
,然后执行另一个
LINQ
语句来实现,但速度非常慢[单个请求大约500毫秒!]我可以再快一点吗?

谢谢大家!

编辑:哎呀,我还需要按结果分组。又名一个位置列表,而每个内部列表包含一列来自
Result

类似的内容

Requests.Where(r => r.name == input).Results.Places.Select();
如果这太慢了,那么我希望您的数据库上需要一些索引

如果模型中没有关系,则需要在表上建立一些外键约束,然后重新生成模型。

类似的内容

Requests.Where(r => r.name == input).Results.Places.Select();
如果这太慢了,那么我希望您的数据库上需要一些索引


如果模型中没有关系,则需要在表上建立一些外键约束,然后重新生成模型。

可以使用join关键字在Linq2Sql中执行表联接:

var places = from request in Requests 
             join result in Results on request.Id equals result.requestID
             join place in Places on result.Id equals place.ResultId
             where request.name = input
             select place;

可以使用join关键字在Linq2Sql中执行表联接:

var places = from request in Requests 
             join result in Results on request.Id equals result.requestID
             join place in Places on result.Id equals place.ResultId
             where request.name = input
             select place;

您将如何用SQL编写此查询?(提示:它涉及连接)。不管是好是坏,LINQ与SQLDQL的映射相当接近,因此从这种方法来看可能会有所启发?(提示:它涉及连接)。不管是好是坏,LINQ与SQL DQL的映射相当接近,因此从这种方法来看它可能会有所启发。OP希望
名称
输入
匹配,而不是
id
我还需要它按
结果
分组。OP希望
名称
输入
匹配,不是
id
我还需要它按
结果进行分组。