Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/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
C# 使用两个SQL表获取Linq值_C#_Sql Server_Linq - Fatal编程技术网

C# 使用两个SQL表获取Linq值

C# 使用两个SQL表获取Linq值,c#,sql-server,linq,C#,Sql Server,Linq,我很难写出正确的LINQ语法 我有一个名为eloLists的表,它的值为ID(int)和Rank(string),还有一个名为Users的表,它的值为elo(int) 我试图通过获取用户对应的elo来获取用户的rank,这与ID列相匹配 所以我有一句话 Temp=Temp+person.calleerid+”、“+person.name+”、“+person.calleer+”、“+myQuery+”、” 我正在尝试使用myQuery获得这个答案。我的尝试是这样的,但是我迷路了 var myQu

我很难写出正确的LINQ语法

我有一个名为eloLists的表,它的值为
ID
(int)和
Rank
(string),还有一个名为Users的表,它的值为
elo
(int)

我试图通过获取用户对应的
elo
来获取用户的
rank
,这与
ID
列相匹配

所以我有一句话

Temp=Temp+person.calleerid+”、“+person.name+”、“+person.calleer+”、“+myQuery+”、”

我正在尝试使用myQuery获得这个答案。我的尝试是这样的,但是我迷路了

var myQuery=db.eloLists.Select(x=>x.rank.Where(x.ID=db.Users.Select(y=>y.elo))
我不确定这一点是否正确

编辑:


创建一个返回字符串并接受用户对象的方法

public string getrank(User person) 
{
    var myQuery = db.eloLists.FirstOrDefault(x => x.ID == person.elo));

    if(myQuery == null) return string.Empty;

    return myQuery.Rank;
} 
然后使用:

foreach (var person in db.Users)
{
    Temp = Temp + person.summonerID + "," + person.name + "," + person.summoner + "," + getrank(person)  + ",";
 }

那么我如何将其放入临时字符串中?就我的问题?或者我需要传递什么?MyQuery返回一个列组集合。您需要将其放入for循环并生成一个逗号分隔的字符串,然后将其放入第一个语句中。Ok。您的更新将显著更改答案。我将很快更新我的答案。String.Join可能比循环更干净一些
foreach (var person in db.Users)
{
    Temp = Temp + person.summonerID + "," + person.name + "," + person.summoner + "," + getrank(person)  + ",";
 }