激情久久久_欧美视频区_成人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 | 色交视频 | 成人影片在线免费观看 | 精品国产一区二区三区四区阿崩 | 精品国产乱码久久久久久久 | 美国一级免费视频 | 羞羞网站在线看 | 55夜色66夜色国产精品视频 | 欧美成人一二三区 | 国产黄色免费网站 | 欧美日韩在线视频一区 | 国产成人精品一区二区仙踪林 | 国产美女做爰免费视 | 婷婷一区二区三区 | 欧美精品久久久久久久多人混战 | 久久免费视频8 | 国产精品久久久免费观看 | 久久精品欧美一区二区三区不卡 | 久久久国产精品成人免费 | 美女亚洲| 久久免费综合视频 | 日日狠狠久久偷偷四色综合免费 | japanese末成年free | 国产99久久精品一区二区 | 日韩在线视频导航 | 日本欧美一区二区三区在线播 | 少妇一级淫片免费看 | 啪啪激情| 亚洲午夜天堂吃瓜在线 | 高清视频91 | 亚洲成人国产综合 | 欧美一级做性受免费大片免费 | 欧美 中文字幕 | 国产精品av久久久久久久久久 | 精品在线观看一区 | 日本在线视频免费观看 | 午夜视频在线免费 | 久草在线免费资源站 |