国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP.NET 語言集成查詢

ASP.NET 語言集成查詢

2023-05-08 03:25未知服務器之家 ASP教程

語言集成查詢 大多數應用都是以數據為中心的,然而大多數的數據倉庫是關系型數據庫。這些年,設計者和開發者設計了基于對象模型的應用程序。 對象來負責連接訪問數據的組件——稱為數據訪問層( DAL )。這里我們需要考慮三

語言集成查詢

大多數應用都是以數據為中心的,然而大多數的數據倉庫是關系型數據庫。這些年,設計者和開發者設計了基于對象模型的應用程序。

對象來負責連接訪問數據的組件——稱為數據訪問層( DAL )。這里我們需要考慮三點:

  • 一個應用程序所需要的所有數據可以不存儲在一個資源中。這個資源可以是關系型數據庫、業務對象、XML文件或者一個WEB服務器。
  • 訪問內存中的對象要比訪問數據庫、XML文件中的數據更簡單,更廉價。
  • 被訪問到的數據不是直接使用的,而是被轉存、排序、分組、修改等。

因此如果存在只是用幾行代碼就能實現輕易整合各種各樣的數據——可以整合來自不同源的數據,并且能夠執行基本的數據操作的工具,那將非常有用。

語言集成查詢( LINQ )就是上述那樣的一種工具。 LINQ 是 .NET Framework 3.5 的一個擴展集并且它的管理語言使查詢更類似于是一種對象。它定義了一種通用的語法和程序模型,使我們可以使用一種慣用的語法完成查找不同類型的數據。

相關操作像查找、工程、鏈接、分組、分區、集合操作等可以在 LINQ 中使用,并且在 .NET Framework 3.5 中的 C# 和 VB 編譯器支持 LINQ 的語法,這就使得它可以通過配置數據來存儲,而不需要求助于 ADO.NET。

舉個例子,在 Northwind 數據庫中查詢 Constomers 這張表,使用 C# 中的 LINQ ,代碼應該是這樣:

var data = from c in dataContext.Customers where c.Country == "Spain" select c;

其中:

  • from關鍵字邏輯上依次通過每個集合。
  • 包含關鍵字where的表達式會比較集合中的每個對象。
  • select聲明會選擇被比較出的對象加入到列表中并返回。
  • 關鍵字var用于變量聲明。因為返回對象的準確類型不明確,它表明信息需要被動態的推測。

LINQ 查詢語句可以應用在任何繼承于 IEnumerable 的有數據支撐的類,這里 T 可以是任何一個數據類型,例如 List< Book >。

讓我們來看一個示例理解一下概念。示例中使用了如下類:Book.cs

public class Books { public string ID {get; set;} public string Title { get; set; } public decimal Price { get; set; } public DateTime DateOfRelease { get; set; } public static List<Books> GetBooks() { List<Books> list = new List<Books>(); list.Add(new Books { ID = "001", Price = 634.76m, DateOfRelease = Convert.ToDateTime("2010-02-05") }); list.Add(new Books { ID = "002", Price = 250.76m, DateOfRelease = Convert.ToDateTime("2011-08-15") }); list.Add(new Books { ID = "003", Price = 700.00m, DateOfRelease = Convert.ToDateTime("2011-02-05") }); list.Add(new Books { ID = "004", Price = 500.99m, DateOfRelease = Convert.ToDateTime("2011-12-31") }); list.Add(new Books { ID = "005", Price = 314.76m, DateOfRelease = Convert.ToDateTime("2010-02-05") }); list.Add(new Books { ID = "006", Price = 456.76m, DateOfRelease = Convert.ToDateTime("2010-02-05") }); list.Add(new Books { ID = "007", Price = 1000.76m, DateOfRelease = Convert.ToDateTime("2010-02-05") }); return list; } }

在 web 網頁中使用這個類要有簡單的標簽控制,來顯示書的標題。Page_Load 方法創建了一個書的列表并且通過使用 LINQ 查詢返回標題:

public partial class simplequery : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { List<Books> books = Books.GetBooks(); var booktitles = from b in books select b.Title; foreach (var title in booktitles) lblbooks.Text += String.Format("{0} <br />", title); } }

當網頁被運行,標簽顯示查詢結果:

ASP.NET 語言集成查詢在 Page_Load 函數中添加代碼來用 join 子句處理在兩張表里完成查詢:

protected void Page_Load(object sender, EventArgs e) { IEnumerable<Books> books = Books.GetBooks(); IEnumerable<Salesdetails> sales = Salesdetails.getsalesdetails(); var booktitles = from b in books join s in sales on b.ID equals s.ID select new { Name = b.Title, Pages = s.pages }; foreach (var title in booktitles) lblbooks.Text += String.Format("{0} <br />", title); }

結果頁顯示如下:

ASP.NET 語言集成查詢查詢語句只返回那些頁數大于 500 的列:

ASP.NET 語言集成查詢返回的元組是:

ASP.NET 語言集成查詢查詢結果如下圖所示:

ASP.NET 語言集成查詢

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人精品一区二区三区视频 | 欧美综合色 | 亚洲精选一区二区 | 成年无码av片在线 | 欧美在线视频一区 | 亚洲天堂av影院 | 91成人小视频 | 毛片91 | 成人午夜影视 | 777色狠狠一区二区三区 | 精品久久久久久久久久久久 | 日韩精品极品视频在线观看免费 | 日韩精品免费一区二区夜夜嗨 | 免费观看日韩一级片 | 欧美激情精品久久久久久变态 | 国产精品久久久久久久浪潮网站 | 国产色视频在线播放 | 久久五月视频 | 中文字幕超清在线免费 | 亚洲国产精品99久久久久久久久 | 91精品国产高清久久久久久久久 | 国产成人精品一区二区三区视频 | 国产成人精品一区二区三区四区 | 欧美日韩一区二区三区免费视频 | 成人久久久 | 电影91久久久 | 日韩aaa视频 | 久久久小视频 | 亚洲久久一区二区 | 日韩电影一区二区在线观看 | 国产一区视频在线 | 91av免费在线观看 | 91午夜视频 | 欧美日韩一区二区三区在线观看 | 国偷自产一区二区免费视频 | 中文字幕不卡在线观看 | 亚洲小视频 | 91精选| 韩日欧美 | 欧美中文字幕一区二区三区亚洲 | 国产福利视频在线观看 |