seminar lap trinh web voi asp net va linq to sql

24

Upload: pvthich1992

Post on 14-Apr-2015

115 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL
Page 2: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 3: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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ì?

Page 4: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 5: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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ì?

Page 6: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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)

Page 7: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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ì?

Page 8: Seminar Lap Trinh Web Voi ASP Net Va 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

To file LINQ to SQL

Page 9: Seminar Lap Trinh Web Voi ASP Net Va 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

Page 10: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 11: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 12: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 13: Seminar Lap Trinh Web Voi ASP Net Va 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'

Page 14: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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’)

Page 15: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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'

Page 16: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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’

Page 17: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 18: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 19: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 20: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 21: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 22: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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?

Page 23: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

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

Page 24: Seminar Lap Trinh Web Voi ASP Net Va LINQ to SQL

6 Tổng kết