LINQ to SQL語句(24)之視圖

作者: 李永京  來源: 博客園  發布時間: 2008-09-18 18:37  閱讀: 7574 次  推薦: 0   原文鏈接   [收藏]  
摘要:這個系列的第二十四篇,講解視圖。

系列文章導航:

LINQ to SQL語句(1)之Where

LINQ to SQL語句(2)之Select/Distinct

LINQ to SQL語句(3)之Count/Sum/Min/Max/Avg

LINQ to SQL語句(4)之Join

LINQ to SQL語句(5)之Order By

LINQ to SQL語句(6)之Group By/Having

LINQ to SQL語句(7)之Exists/In/Any/All/Contains

LINQ to SQL語句(8)之Concat/Union/Intersect/Except

LINQ to SQL語句(9)之Top/Bottom和Paging和SqlMethods

LINQ to SQL語句(10)之Insert

LINQ to SQL語句(11)之Update

LINQ to SQL語句(12)之Delete和使用Attach

LINQ to SQL語句(13)之開放式并發控制和事務

LINQ to SQL語句(14)之Null語義和DateTime

LINQ to SQL語句(15)之String

LINQ to SQL語句(16)之對象標識

LINQ to SQL語句(17)之對象加載

LINQ to SQL語句(18)之運算符轉換

LINQ to SQL語句(19)之ADO.NET與LINQ to SQL

LINQ to SQL語句(20)之存儲過程

LINQ to SQL語句(21)之用戶定義函數

LINQ to SQL語句(22)之DataContext

LINQ to SQL語句(23)之動態查詢

LINQ to SQL語句(24)之視圖

LINQ to SQL語句(25)之繼承

LINQ簡介

adsfsaf

 

視圖

我們使用視圖和使用數據表類似,只需將視圖從“服務器資源管理器/數據庫資源管理器”拖動到O/R 設計器上,自動可以創建基于這些視圖的實體類。我們可以同操作數據表一樣來操作視圖了。這里注意:O/R 設計器是一個簡單的對象關系映射器,因為它僅支持 1:1 映射關系。換句話說,實體類與數據庫表或視圖之間只能具有 1:1 映射關系。不支持復雜映射(例如,將一個實體類映射到多個表)。但是,可以將一個實體類映射到一個聯接多個相關表的視圖。 下面使用NORTHWND數據庫中自帶的Invoices、Quarterly Orders兩個視圖為例,寫出兩個范例。

查詢:匿名類型形式

我們使用下面代碼來查詢出ShipCity 在London的發票。

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
-- @p0: Input NVarChar (Size = 6; Prec = 0; Scale = 0) [London]

查詢:標識映射形式

下例查詢出每季的訂單。

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]
0
0
 
標簽:LINQ LINQ to SQL
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()