![](/img/trans.png)
[英]How to convert a query consisting of INNER JOIN, LEFT JOIN and GROUP BY to a similar linq2sql query?
[英]How to join two APIs in Javascript similar to a SQL join
我發現這個問題與我要問的問題類似,但不完全相同: 有什么辦法可以像我在SQL中那樣進行“聯接”兩個javascript數組的內容嗎?
在該問題中,用戶提供了兩個他們希望以類似SQL的方式聯接的數組。
我的不同之處在於,我已經設置了多個API來引用數據庫。 我需要獲取API以“連接”一個值。
這是這些類的粗略示例:
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/zh-cn/aspnet/web-api/overview/getting-started-with-aspnet-web-api/using-web-api-with- aspnet-web-forms )
一切都很好,但是在這種情況下,這並不是我想要的。 我需要結合來自兩個API的信息。
創建一些視圖會更好嗎? 我知道我可以這樣做,但是我不確定這比直接從表中提取並以某種方式組合它們更好/更有效/更快。
我最終要做的是創建一個SQL視圖,並專門為該視圖創建第二個API,以返回我需要的所有數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.