Tải bản đầy đủ (.pdf) (34 trang)

NET FRAMEWORK 3.5 LINQ TO SQL docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.82 MB, 34 trang )

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”


VB.NET - 11
CNPM
Khoa CNTT
Phạm Hoàng Hải
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.


VB.NET - 12
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 - 13
CNPM
Khoa CNTT
Phạm Hoàng Hải
4. NGÔN NGỮ MỞ RỘNG
EXTENSION LANGUAGE
 Ngôn ngữ mở rộng trong C# 3.0:
 Khai báo biến
 Khởi tạo đối tượng
 Kiểu dữ liệu Anonymous
 Biểu thức Lambda
 Biểu diễn câu truy vấn SQL
 Biểu thức SQL



VB.NET - 14
CNPM
Khoa CNTT
Phạm Hoàng Hải
4. NGÔN NGỮ MỞ RỘNG
EXTENSION LANGUAGE
 Khai báo biến :



VB.NET - 15
CNPM

Khoa CNTT
Phạm Hoàng Hải
4. NGÔN NGỮ MỞ RỘNG
EXTENSION LANGUAGE
 Khởi tạo đối tượng :



VB.NET - 16
CNPM
Khoa CNTT
Phạm Hoàng Hải
4. NGÔN NGỮ MỞ RỘNG
EXTENSION LANGUAGE
 Kiểu dữ liệu Anonymous:



VB.NET - 17
CNPM
Khoa CNTT
Phạm Hoàng Hải
4. NGÔN NGỮ MỞ RỘNG
EXTENSION LANGUAGE
 Biểu thức Lambda
 Định nghĩa nhanh các hàm.
 Cú pháp:
( argument-list ) => { expressions }
 Ví dụ:




 Thường được sử dụng trong
Delegate


s => s.ToUpper();
string Func(string s)
{
return s.ToUpper();
}
VB.NET - 18
CNPM
Khoa CNTT
Phạm Hoàng Hải
4. NGÔN NGỮ MỞ RỘNG
EXTENSION LANGUAGE
 Biểu diễn câu truy vấn SQL với
các Operators
 Select
 Where
 SelectMany
 Sum / Min / Max / Average
 OrderBy
 GroupBy
 Count
 Ví dụ:


VB.NET - 19

CNPM
Khoa CNTT
Phạm Hoàng Hải
4. NGÔN NGỮ MỞ RỘNG
EXTENSION LANGUAGE
 Các câu lệnh truy vấn được viết
trong C# sẽ được compile thành
các câu truy vấn trong CSDL để
hệ quản trị CSDL thực thi.


VB.NET - 20
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 - 21
CNPM
Khoa CNTT
Phạm Hoàng Hải
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



VB.NET - 22
CNPM
Khoa CNTT
Phạm Hoàng Hải
5. THAO TÁC TRUY VẤN CSDL
TRUY VẤN LẤY DỮ LIỆU
SELECT
 Truy vấn lấy một giá trị 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”



VB.NET - 23
CNPM
Khoa CNTT
Phạm Hoàng Hải
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



VB.NET - 24
CNPM
Khoa CNTT
Phạm Hoàng Hải
5. THAO TÁC TRUY VẤN CSDL
TRUY VẤN LẤY DỮ LIỆU
SELECT
 Truy vấn CSDL có thực hiện
phân trang Skip/Take.
 Ví dụ: Lấy ra 10 sản phẩm, từ vị
trí 200, có Category bắt đầu với
kí tự “C”



VB.NET - 25
CNPM
Khoa CNTT
Phạm Hoàng Hải
5. THAO TÁC TRUY VẤN CSDL
TRUY VẤN LẤY DỮ LIỆU
SELECT
 Sắp xếp có điều kiện với
orderby.




orderedProducts1 =
products.
OrderBy(p => p.Category).
ThenByDescending(p => p.UnitPrice).
ThenBy(p => p.Name);

×