首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

LINQ to SQL 進階技巧(18):視圖對應與繼承映射完整實戰

     編輯:關於ASP.NET

探討 LINQ to SQL 對資料庫視圖的支援與單表繼承映射機制,含 O/R 設計師操作與生成 SQL 分析。

視圖對應:與資料表操作一致

將視圖從「伺服器總管」拖曳至 O/R 設計師,自動生成實體類別。查詢語法與資料表完全相同。

查詢範例 1:匿名型別投影

var q = from i in db.Invoices
        where i.ShipCity == "London"
        select new { i.OrderID, i.ProductName, i.Quantity, i.CustomerName };

生成 SQL:

SELECT [t0].[OrderID], [t0].[ProductName], [t0].[Quantity], [t0].[CustomerName]
FROM [dbo].[Invoices] AS [t0]
WHERE [t0].[ShipCity] = @p0

查詢範例 2:實體型別直接查詢

var q = from qo in db.Quarterly_Orders select qo;

生成 SQL:

SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[City], [t0].[Country]
FROM [dbo].[Quarterly Orders] AS [t0]
注意:O/R 設計師僅支援 1:1 映射。複雜映射(一實體對多表)不支援,但可將實體映射至聯接多表的視圖繞過限制。

繼承支援:單表映射策略

整個繼承階層儲存於單一資料表,包含所有可能欄位的平坦聯集。不適用之欄位為 NULL。須在根類別標註 [InheritanceMapping] 屬性,或由 O/R 設計師自動生成映射程式碼。

單表策略查詢效能佳,適合較淺的繼承階層。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved