Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
2,82 MB
Nội dung
VB.NET - 1 CNPM Khoa CNTT Phạm Hoàng Hải .NET FRAMEWORK 3.5 LINQ TO SQL VB.NET - 2 CNPM Khoa CNTT Phạm Hoàng Hải 1. LINQ LINQ là gì? Mô hình hóa CSDL bằng LINQ Ngôn ngữ mở rộng (Extension Language) Thao tác truy vấn CSDL với LINQ Hỏi đáp VB.NET - 3 CNPM Khoa CNTT Phạm Hoàng Hải 2. LINQ là gì? LINQ là tập hợp ngôn ngữ và các hàm API mở rộng, hỗ trợ thực hiện truy vấn SQL trực tiếp bằng ngôn ngữ lập trình trong .NET LINQ hỗ trợ nhiều dạng dữ liệu khác nhau: Object, XML, SQL, Datasets… VB.NET - 4 CNPM Khoa CNTT Phạm Hoàng Hải 2. LINQ là gì? C# 3.0 C# 3.0 Visual Basic 9.0 Visual Basic 9.0 Others Others .NET Language Integrated Query LINQ to Objects LINQ to Objects LINQ to SQL LINQ to SQL LINQ to XML LINQ to XML Objects <book> <title/> <author/> <year/> <price/> </book> XML Relational VB.NET - 5 CNPM Khoa CNTT Phạm Hoàng Hải 2. LINQ to SQL LINQ to SQL cho phép mô hình hóa một CSDL bằng các lớp trong .NET, và qua đó, thực hiện các câu truy vấn CSDL trực tiếp bằng ngôn ngữ lập trình. LINQ hỗ trợ đầy đủ các thao tác trên cơ sở dữ liệu: Truy vấn, Thêm / Xóa / Sửa dữ liệu, Thực thi các Stored Procedure VB.NET - 6 CNPM Khoa CNTT Phạm Hoàng Hải 1. LINQ LINQ là gì? Mô hình hóa CSDL bằng LINQ Ngôn ngữ mở rộng (Extension Language) Thao tác truy vấn CSDL với LINQ Hỏi đáp VB.NET - 7 CNPM Khoa CNTT Phạm Hoàng Hải 3. MÔ HÌNH HÓA CSDL BẰNG LINQ Add – New Item… VB.NET - 8 CNPM Khoa CNTT Phạm Hoàng Hải 3. MÔ HÌNH HÓA CSDL BẰNG LINQ Chọn Linq to SQL File Lớp “DataContext” được phát sinh, chứa các thông tin mô hình hóa và hỗ trợ toàn bộ các thao tác truy vấn CSDL. VB.NET - 9 CNPM Khoa CNTT Phạm Hoàng Hải 3. MÔ HÌNH HÓA CSDL BẰNG LINQ Mô hình hóa các bảng CSDL bằng các lớp thực thể thông qua công cụ LINQ to SQL Designer VB.NET - 10 CNPM Khoa CNTT Phạm Hoàng Hải 3. MÔ HÌNH HÓA CSDL BẰNG LINQ Khi thực hiện mô hình hóa LINQ tự động tạo quan hệ giữa các đối tượng. Ví dụ: Bảng Products-Categories Trong lớp thực thể Category có “Products”. Và trong lớp thực thể Product có thuộc tính “Category” [...]... CNTT CNPM 3 MÔ HÌNH HÓA CSDL BẰNG LINQ Thực thi truy vấn đơn giản với LINQ VD: Lấy sản phẩm có ProductID là 17 Từ lớp Product có thể truy vấn được Category của product Phạm Hoàng Hải VB .NET - 11 Khoa CNTT CNPM 1 LINQ LINQ là gì? Mô hình hóa CSDL bằng LINQ Ngôn ngữ mở rộng (Extension Language) Thao tác truy vấn CSDL với LINQ Hỏi đáp Phạm Hoàng Hải VB .NET - 12 Khoa CNTT CNPM 4 NGÔN NGỮ... thi Phạm Hoàng Hải VB .NET - 19 Khoa CNTT CNPM 1 LINQ LINQ là gì? Mô hình hóa CSDL bằng LINQ Ngôn ngữ mở rộng (Extension Language) Thao tác truy vấn CSDL với LINQ Hỏi đáp Phạm Hoàng Hải VB .NET - 20 Khoa CNTT CNPM 5 THAO TÁC TRUY VẤN CSDL TRUY VẤN LẤY DỮ LIỆU SELECT Truy vấn CSDL với điều kiện Where Ví dụ: Lấy ra các sản phẩm có Category là Beverages Phạm Hoàng Hải VB .NET - 21 Khoa CNTT CNPM... Các to n tử tính to n Sum/ Average/Min/Max/Count VD: Truy vấn tổng doanh thu của các sản phẩm có Category là Beverages Phạm Hoàng Hải VB .NET - 28 Khoa CNTT CNPM 5 THAO TÁC TRUY VẤN CSDL CẬP NHẬT DỮ LIỆU UPDATE Thực thi cập nhật dữ liệu trong LINQ SubmitChanges Phạm Hoàng Hải VB .NET - 29 Khoa CNTT CNPM 5 THAO TÁC TRUY VẤN CSDL THÊM DỮ LIỆU INSERT Thực thi thêm dữ liệu trong LINQ InsertOnSubmit... Lambda Biểu diễn câu truy vấn SQL Biểu thức SQL Phạm Hoàng Hải VB .NET - 13 Khoa CNTT CNPM 4 NGÔN NGỮ MỞ RỘNG EXTENSION LANGUAGE Khai báo biến : Phạm Hoàng Hải VB .NET - 14 Khoa CNTT CNPM 4 NGÔN NGỮ MỞ RỘNG EXTENSION LANGUAGE Khởi tạo đối tượng : Phạm Hoàng Hải VB .NET - 15 Khoa CNTT CNPM 4 NGÔN NGỮ MỞ RỘNG EXTENSION LANGUAGE Kiểu dữ liệu Anonymous: Phạm Hoàng Hải VB .NET - 16 Khoa CNTT CNPM 4 NGÔN... => { expressions } Ví dụ: s => s.ToUpper(); string Func(string s) { return s.ToUpper(); } Thường được sử dụng trong Delegate Phạm Hoàng Hải VB .NET - 17 Khoa CNTT CNPM 4 NGÔN NGỮ MỞ RỘNG EXTENSION LANGUAGE Biểu diễn câu truy vấn SQL với các Operators Where SelectMany Sum / Min / Max / Average OrderBy GroupBy Select Count Ví dụ: Phạm Hoàng Hải VB .NET - 18 Khoa CNTT CNPM 4 NGÔN NGỮ... LIỆU INSERT Thực thi thêm dữ liệu trong LINQ InsertOnSubmit và SubmitChanges Phạm Hoàng Hải VB .NET - 30 Khoa CNTT CNPM 5 THAO TÁC TRUY VẤN CSDL XÓA DỮ LIỆU DELETE Thực thi thêm dữ liệu trong LINQ DeleteOnSubmit và SubmitChanges Phạm Hoàng Hải VB .NET - 31 Khoa CNTT CNPM 6 LINQ CÁC DẠNG DỮ LIỆU KHÁC LINQ to Object: Hỗ trợ viết các câu truy vấn cho tập các Object int[] nums = new int[] {0,4,2,6,3,8,3,1};... Hải VB .NET - 32 Khoa CNTT CNPM 6 LINQ CÁC DẠNG DỮ LIỆU KHÁC LINQ to XML: Hỗ trợ viết các câu truy vấn cho dữ liệu file XML XDocument loaded = XDocument.Load(@"C:\contacts.xml"); var q = from c in loaded.Descendants("contact") where (int)c.Attribute("contactId") < 4 select (string)c.Element("firstName") + “ “ + (string)c Element("lastName"); foreach (string name in q) Console.WriteLine("Customer name... p.Category); Phạm Hoàng Hải VB .NET - 26 Khoa CNTT CNPM 5 THAO TÁC TRUY VẤN CSDL TRUY VẤN LẤY DỮ LIỆU SELECT Lấy phần tử tại vị trí First/Last/ElementAt First • string phone = "206-555-1212"; Customer c = customers.First(c => c.Phone == phone); Last ElementAt • Product thirdMostExpensive = products.OrderByDescending(p => p.UnitPrice) ElementAt(2); Phạm Hoàng Hải VB .NET - 27 Khoa CNTT CNPM 5 THAO... Element("lastName"); foreach (string name in q) Console.WriteLine("Customer name = {0}", name); -Output: Customer name = Barney Gottshall Customer name = Armando Valdes Phạm Hoàng Hải VB .NET - 33 Khoa CNTT CNPM 6 HỎI ĐÁP Phạm Hoàng Hải VB .NET - 34 ... trong CSDL với điều kiện Where Ví dụ: Lấy ra các sản phẩm có ProductName là “Toy 1” Phạm Hoàng Hải VB .NET - 22 Khoa CNTT CNPM 5 THAO TÁC TRUY VẤN CSDL TRUY VẤN LẤY DỮ LIỆU SELECT Truy vấn lấy ra một số thuộc tính Select Ví dụ: Lấy ra ProductID và ProductName của các sản phẩm có Category là Beverages Phạm Hoàng Hải VB .NET - 23 Khoa CNTT CNPM 5 THAO TÁC TRUY VẤN CSDL TRUY VẤN LẤY DỮ LIỆU SELECT . 9.0 Visual Basic 9.0 Others Others .NET Language Integrated Query LINQ to Objects LINQ to Objects LINQ to SQL LINQ to SQL LINQ to XML LINQ to XML Objects <book> <title/>. VB .NET - 1 CNPM Khoa CNTT Phạm Hoàng Hải .NET FRAMEWORK 3. 5 LINQ TO SQL VB .NET - 2 CNPM Khoa CNTT Phạm Hoàng Hải 1. LINQ LINQ là gì? Mô hình hóa CSDL bằng LINQ Ngôn. </book> XML Relational VB .NET - 5 CNPM Khoa CNTT Phạm Hoàng Hải 2. LINQ to SQL LINQ to SQL cho phép mô hình hóa một CSDL bằng các lớp trong .NET, và qua đó, thực hiện các câu