Truy cập cơ sở dữ liệu với LINQ TO SQL 2
Cách thức tổ chức dữ liệu và xây dựng Website 1
Trình bày dữ liệu trên ASP.NET với điều khiển CSDL 3
Một số thủ thuật trong Truy vấn dữ liệu và ASP.NET 4
Triển khai một ứng dụng Web trên Internet 5
Tổng kết & liên hoan 6
1 Cách thức tổ chức dữ liệu và xây dựng web với ASP.NET
Bắt đầu với một dự án Web từ đâu?
Làm sao để có được một trang web đẹp?
Cấu trúc của một dự án Web như thế nào?
Xây dựng ứng dụng ASP.NET cần chú ý những gì?
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
• LINQ chính thức được đưa vào phiên bản VS 2008, đã tạo ra một bước ngoặt lớn về mặt ngôn ngữ cho ngành công nghệ phần mềm
• Bản chất của nó chính là thống nhất sự khác biệt giữa hai mô hình : Đối tượng và Dữ liệu
• Công nghệ hỗ trợ đằng sau LINQ như ORM (Object Relational Mapping) đã làm cho việc lập trình trở nên đơn giản hơn, gọn gàng hơn
2.1. Giới thiệu về LINQ
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
• LINQ – Language Integrated Query: là một tập hợp các
phần mở rộng của .NET Framework, bao gồm ngôn ngữ
tích hợp truy vấn, thiếp lập và chuyển đổi hoạt động.
• LINQ được mở rộng trong C# và VB 9.0 với cú pháp
ngôn ngữ bản địa cho các truy vấn và cung cấp các thư
viện lớp để tận dụng những khả năng thuận lợi của nó.
2.2. LINQ là gì?
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.3. Kiến trúc của LINQ
LINQ enabled ADO.NET
LINQ to
Entities
LINQ
to SQL
LINQ to
XML
C# 3.0 VB 9.0 Others…
LINQ
to Dataset
LINQ
to Objects
XML Objects Relational Data
.NET Language-Integrated Query (LINQ)
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
• LINQ to SQL là một phiên bản hiện thực hóa của ORM
(object relational mapping) có bên trong .NET
Framework bản .NET 3.5
• LINQ to SQL cho phép ta mô hình hóa một cơ sở dữ liệu
dùng các lớp .NET.
• LINQ to SQL hỗ trợ đầy đủ store procedurce, function,
view và transaction.
2.4. LINQ to SQL là gì?
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.5. Mô hình hóa dữ liệu dùng LINQ
To file LINQ to SQL
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.5. Mô hình hóa dữ liệu dùng LINQ
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
Tất cả các biểu thức LINQ làm việc theo ba thao tác.
1. Xác định nguồn dữ liệu.
2. Tạo các truy vấn.
3. Thực hiện các truy vấn.
2.6. Cú pháp truy vấn dữ liệu dùng LINQ
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
from itemName in srcExpr
join itemName in srcExpr on keyExpr equals keyExpr
(into itemName)?
where predExpr
group selExpr by keyExpr
into itemName query-body
orderby (keyExpr (ascending | descending)?)*
select selExpr
2.6. Cú pháp truy vấn dữ liệu dùng LINQ
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
Application
LINQ to SQL
from c in db.Customers
where c.City == "London"
select c;
LINQ Query
SQL Query
SELECT *
FROM Cust
WHERE City = 'London'
Rows
Objects SubmitChanges()
DML or Stored Procedures
db.Customers.InsertOnSubmit(c1);
c2.City = “Seattle“;
db.Customers.DeleteOnSubmit(c3);
INSERT INTO Customers…
UPDATE Customers …
DELETE FROM Customers …
SQL Server
2.7. Nguyên lý truy cập dữ liệu dùng LINQ TO SQL
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.8. Truy vấn lấy dữ liệu
LINQ
var query1 = from c in db.Customers
where c.City == "London"
select c;
var query2 = from c in db.Customers
where c.City == "London"
select new { c.CompanyName, c.Phone };
var query3 = db.Customers.Where(c => c.City == "London”);
SQL
SELECT * FROM Customers
WHERE City = 'London'
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.9. Thêm mới bản ghi vào CSDL
LINQ Customer c1 = new Customer();
c1.CustomerID = "ABCD";
c1.CompanyName = "FPT";
c1.Country = "Viet Nam";
c1.City = "Ha Noi";
c1.Phone = "(04)38184429“;
db.Customers.InsertOnSubmit(c1);
db.SubmitChanges();
SQL
INSERT INTO Customers(CustomerID, CompanyName,
Country, City, Phone)
VALUES(‘ABCD’,’FPT’,’Viet Nam’,’Ha Noi’,’(04)38184429’)
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.10. Cập nhật mới bản ghi vào CSDL
LINQ Customer cust = db.Customers.Single(c => c.CustomerID == "ABCD");
cust.CompanyName = “FSC";
var custs = db.Customers.Where(c => c.Country == “Viet Nam");
foreach (var c in custs)
c.City = “Ha Noi";
db.SubmitChanges();
SQL UPDATE Customers SET CompanyName = ‘FSC'
WHERE CustomerID='ABCD'
UPDATE Customers SET City = 'Ha Noi'
WHERE Country = 'Viet Nam'
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.11. Xoá bản ghi trong CSDL
LINQ Customer cust = db.Customers.Single(c => c.CustomerID == "ABCD");
db.Customers.DeleteOnSubmit(cust);
var custs = db.Customers.Where(c => c.City == "Ha Noi");
db.Customers.DeleteAllOnSubmit(custs);
db.SubmitChanges();
SQL DELETE Customers WHERE CustomerID == ‘ABCD’
DELETE Customers WHERE City== ‘Ha Noi’
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
Select / SelectMany
Where
Sum / Min / Max / Average / Aggregate
Join / GroupJoin
GroupBy
Take / TakeWhile - Skip / SkipWhile
OrderBy / ThenBy
First / FirstOrDefault / Last / LastOrDefault/Single…
2.12. Một số phương thức hay sử dụng
2 Truy vấn dữ liệu sử dụng LINQ TO SQL
2.13. Ánh xạ LINQ TO SQL vào Mô hình 3 lớp
3 Trình bày dữ liệu trên ASP.NET với điều khiển CSDL
3.1. Trình bày dữ liệu với Repeater
3 Trình bày dữ liệu trên ASP.NET với điều khiển CSDL
3.2. Trình bày dữ liệu với DataList
3 Trình bày dữ liệu trên ASP.NET với điều khiển CSDL
3.3. Trình bày dữ liệu với GridView
4 Một số thủ thuật trong truy vấn dữ liệu và ASP.NET
• Thiết kế Menu phân cấp như thế nào?
• Tạo ảnh “New” cho mỗi bản tin khi nào?
• Một tin tiêu điểm là tin như thế nào?
• Phân trang dữ liệu dùng LINQ TO SQL
• Làm sao để Web chạy nhanh hơn?
• Kỹ thuật Load Control động dùng khi nào?
5 Triển khai một Website ASP.NET trên Internet
• Một số khái niệm liên quan: tên miền, hosting, ftp
account, băng thông….
• Xuất bản website trước khi đưa lên host
• Công cụ hỗ trợ upload website: Cute Professional,
FileZilla
• Cấu hình Web.config cho phù hợp
• Trải nghiệm
6 Tổng kết
Top Related