C# 比较asp.net中的两个表

C# 比较asp.net中的两个表,c#,asp.net,sql,linq,C#,Asp.net,Sql,Linq,我正在制作一个网站来显示关于游戏的各种统计数据 我在一个sql数据库中得到了两个独立的表。一个叫PlayerMatch,另一个叫Match 我要比较的两列是PlayerMatch PlayerMatch.TeamId中的TeamId与Match.WinningTeamId中的WinningTeamId 为了展示这一切,我制作了一张桌子,在里面放置了一些asp:Repeater。 这是其中之一,因为它们本质上都是一样的 <asp:Repeater ID="repHighGPM" runat=

我正在制作一个网站来显示关于游戏的各种统计数据

我在一个sql数据库中得到了两个独立的表。一个叫PlayerMatch,另一个叫Match

我要比较的两列是PlayerMatch PlayerMatch.TeamId中的TeamId与Match.WinningTeamId中的WinningTeamId

为了展示这一切,我制作了一张桌子,在里面放置了一些asp:Repeater。 这是其中之一,因为它们本质上都是一样的

<asp:Repeater ID="repHighGPM" runat="server">
     <ItemTemplate>
         <td><a href="Match.aspx?id=<%#Eval("Match.MatchNumber") %>"><%#Eval("Match.MatchNumber") %></a></td>
          <td><%#Eval("Match.WinningTeamId") %></td>
          <td><%#Eval("Name") %></td>
          <td>
               <img src=' <%#Eval("Image") %>' /></td>
          <td><%#Eval("GoldPerMinute") %></td>
      </ItemTemplate>
</asp:Repeater>
现在的问题是,它现在只会显示赢得比赛的球队的Id。WinningTeamId。但如果球员在那一队就不会了。所以本质上它只需要检查PlayerMatch.TeamId==Match.WinningTeamId。若这是真的,那个么它应该写为赢得比赛,而false则是输掉比赛


有什么想法吗?我知道它应该是某种if-else函数,但我不知道该怎么做。

您可以在sql查询中使用内部联接: 将数据源添加到数据库中,然后编写查询,将数据源添加到repeater DataSourceID=

<asp:Repeater ID="repHighGPM" runat="server" DataSourceID="match">
     <ItemTemplate>
         <td><a href="Match.aspx?id=<%#Eval("Match.MatchNumber") %>"><%#Eval("Match.MatchNumber") %></a></td>
          <td><%#Eval("Match.WinningTeamId") %></td>
          <td><%#Eval("Name") %></td>
          <td>
               <img src=' <%#Eval("Image") %>' /></td>
          <td><%#Eval("GoldPerMinute") %></td>
      </ItemTemplate>
</asp:Repeater>    



    <asp:SqlDataSource ID="match" runat="server" ConnectionString="<%$ ConnectionStrings:database %>" SelectCommand="select m.match number, m.winningTeamID, Name ,Image from Match m inner join
        playermatch p on p.Teamid = m.WinningTeamId"></asp:SqlDataSource>
有关内部联接的更多信息,请阅读本文:

我已使用以下解决方案解决了此问题:

    public string MatchResult (object Result) {
    int id = Convert.ToInt32(Request.QueryString["id"]);
    DOTA2DataContext db = new DOTA2DataContext();
    var Victory = Result;
    var TeamId = db.PlayerMatches.Where(x => x.TeamId == id);
    var WinningTeam = db.Matches.Where(x => x.WinningTeamId == id);
    {
        if (TeamId == WinningTeam)
        { 
            return "Won match";
        }
        else
        {
            return "Lost match";
        }

    }
}
还有中继器

<asp:Repeater ID="repHighD" runat="server">
                        <ItemTemplate>
                            <td><a href="Match.aspx?id=<%#Eval("Match.MatchNumber") %>"><%#Eval("Match.MatchNumber") %></a></td>
                            <td><%# MatchResult(Eval("Match.WinningTeamId"))%></td>
                            <td><%#Eval("Hero.Name") %></td>
                            <td>
                                <img src=' <%#Eval("Hero.Image") %>' /></td>
                            <td><%#Eval("Denies") %></td>
                        </ItemTemplate>
                    </asp:Repeater>    

您最好在SQL查询中这样做