簡體   English   中英

ASP.NET/SQL-使用外鍵從多個表中檢索數據

[英]Asp.net/SQL - Retrieving data from multiple tables using foreign keys

我是ASP.NET和SQL的新手,我正在嘗試構建一個Web窗體項目,該項目基本上將使用網格顯示數據。

我正在使用實體框架以及數據傳輸對象和數據訪問層來顯示/編輯數據。

我的問題是我不確定使用外鍵檢索數據的最佳方法是什么。

例:

表1-產品

|(PK) Product ID | Product Name | Country ID(FK)

表2-國家

|(PK) Country ID | Country Name|

最終結果應為:

Product ID | Product Name | Country Name|

做到這一點的最佳方法是什么?

提前致謝

您可以從這一查詢中進行LINQ查詢。 更好的是,您可以創建一個單獨的類並僅檢索所需的數據。

SQL查詢:

SELECT P.ProductID, P.ProductName, C.COuntryName FROM Products P
INNER JOIN ON Countries C ON C.CountryID = P.CountryID

使用EF執行查詢:

context.Database.SqlQuery<ProductDTO>(query).ToList();

最好的方法是使用投影來做到這一點。 您的代碼將類似於以下代碼:

context.Products.Select(x=>new ProductDto
{
   ProductId=x.ProductId,
   ProductName=x.Name,
   CountryName=x.Country.Name
});

使用投影,您將確保僅從DB中檢索必要的數據。

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM