如何在 Javascript 中加入两个 API,类似于 SQL 加入

How to join two APIs in Javascript similar to a SQL join

我发现这个问题与我要问的类似,但不完全相同:Is there some way I can "join" the contents of two javascript arrays much like I would do a join in SQL

在那个问题中,用户提供了两个他们想要以类似 SQL 的方式加入的数组。

我的不同之处在于我设置了多个 API 来引用数据库。我需要将 API 获取到 "join" 的值。

这是 类 的粗略示例:

public partial class test_review
{
    [Key]
    public int rating_id { get; set; }
    public int site_id { get; set; }
    public string comments { get; set; }
}

和:

public partial class test_site
{
    [Key]
    public int site_id { get; set; }
    [Required]
    [StringLength(3)]
    public string site_name { get; set; }
}

如果我在 SQL 中写这篇文章,我会做类似

的事情
SELECT r.rating_id, s.site_name, r.comments 
FROM test_review r
INNER JOIN test_site s on r.site_id = s.site_id

目前,我的 ReadReviews.aspx 页面中有如下代码:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <script src="Scripts/jquery-3.3.1.min.js"></script>
    <script type="text/javascript">
        function getReviews() {
            $.getJSON("api/review",
                function (data) {
                    $('#reviews').empty();
                    $.each(data, function (key, val) {
                        var row = '<td>' + val.rating_id + '</td><td>' + val.airport_id + '</td>';
                        $('<tr/>', { html: row })
                            .appendTo($('#reviews'));
                    });
                });
        }
        $(document).ready(getReviews);
    </script>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <h2> Here are the API reviews</h2>
            <table>
                <thead> 
                    <tr>    
                        <th>Rating_id</th>
                        <th>airport_id</th>
                    </tr>
                </thead>
                <tbody id ="reviews">
                </tbody>
            </table>

</asp:Content>

(注:此jquery代码来自https://docs.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/using-web-api-with-aspnet-web-forms

这很好,但不是我在这种情况下要找的东西。我需要结合来自两个 API 的信息。

创建几个视图会更好吗?我知道我可以做到这一点,但我不确定它 better/more efficient/faster 比直接从表中提取并以某种方式组合它们更好。

我最后做的是创建一个 SQL 视图并制作第二个 API 专门用于 return 我需要的所有数据的视图。