![](/img/trans.png)
[英]retrieving data from a table with 2 foreign keys in c# asp.net web api
[英]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.