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

Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động Bài 2: Các công nghệ dùng để xây dựng Web Service cho ứng dụng di động (P1)

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 (983.79 KB, 44 trang )

Trường ĐH Khoa Học Tự Nhiên Tp. Hồ Chí Minh
TRUNG TÂM TIN HỌC

Bài 2: Các công nghệ dùng để xây dựng Web
Service cho ứng dụng di động – Phần 1
Ngành Mạng & Thiết bị di động
www.t3h.vn

2015


Nội dung
1. Tìm hiểu LinQ

• Tổng quan
• Môi trường hỗ trợ LinQ
• Cách truy vấn:

 Dùng LinQ đọc danh sách đối tượng và thực hiện truy vấn
 Dùng LinQ đọc dữ liệu XML và thực hiện truy vấn
2. Hướng dẫn xây dựng Web Service dùng API RESTful Service

Xây dựng và triển khai Web Service cho ứng dụng di động

2


1.1 Tổng quan
LinQ là gì?




LINQ là tên viết tắt của Language Integrated Query (ngôn

ngữ truy vấn thông minh).



Là một tập hợp các thành phần mở rộng cho phép viết các
câu truy vấn dữ liệu ngay trong một ngôn ngữ lập trình,
như C# hoặc VB.NET.



Là một mô hình ORM (Object-relational mapping) hỗ trợ lập
trình CSDL hướng đối tượng mạnh mẽ.




Cú pháp đơn giản, dễ hiểu.
Có thể hiển thị, binding trực tiếp lên các giao diện .
Xây dựng và triển khai Web Service cho ứng dụng di động

3


1.1 Tổng quan
LinQ là gì?
Chú ý:




LINQ không làm tăng tốc độ thực thi chương trình mà nó

giúp viết mã lệnh nhanh hơn và dễ quản lý mã hơn.



Có thể kết hợp LINQ với ADO.Net để truy vấn.

Xây dựng và triển khai Web Service cho ứng dụng di động

4


1.1 Tổng quan
Mô hình kiến trúc LinQ

Xây dựng và triển khai Web Service cho ứng dụng di động

5


1.1 Tổng quan
Có các loại LinQ sau:




LINQ To Objects.

LINQ To XML (XLINQ).

Có thể kết hợp với ADO.Net để truy vấn:





LINQ To Dataset.
LINQ To SQL (DLINQ).
LINQ To Entities.

Xây dựng và triển khai Web Service cho ứng dụng di động

6


1.2 Môi trường hỗ trợ LinQ



Có nhiều công cụ hỗ trợ LinQ, nhưng Visual Studio là công cụ
hỗ trợ được sử dụng phổ biến và mạnh mẽ nhất hiện nay (từ




Visual Studio 2008 trở đi).

LinQ được hỗ trợ trên nền tảng .NET 3.5 trở lên.

Để sử dụng LINQ phải khai báo thư viện System.LinQ.

Xây dựng và triển khai Web Service cho ứng dụng di động

7


1.3 Cách truy vấn
LINQ có 2 kiểu truy vấn LinQ:



Lamda (Method) Syntax

Ví dụ:
var doDaiToiDas = dodais.Where( d => d.length > 10);



Query (Comprehension) Syntax

Ví dụ:
var doDaiToiDas = from d in dodais where d.length > 10;

Xây dựng và triển khai Web Service cho ứng dụng di động

8


1.3 Cách truy vấn

Các biểu thức truy vấn (Query Expressions) của LINQ với các từ khóa
Select, From, Where và OrderBy tương tự như cú pháp truy vấn của SQL.
Ví dụ:
// Tạo một mảng kiểu int chứa các điểm số
int[] diems = new int[] { 7, 8, 10, 9};
// Sử dụng cú pháp truy vấn của LINQ để lấy danh sách điểm trên 8 điểm

IEnumerable<int> diemQuery = from diem in diems where diem > 80 select
diem ;
// Xử lý hiển thị ra màn hình
foreach (int i in diemQuery) {
Console.Write(i + " ");

} Console.ReadLine();
Xây dựng và triển khai Web Service cho ứng dụng di động

9


1.3 Cách truy vấn
Các phương thức truy vấn mở rộng (Extension Methods)



Các phương thức này chỉ được khai báo trong các lớp tĩnh
(static class)



Được sử dụng để biên dịch các biểu thức truy vấn (Query

Expressions) thành các phương thức gọi truyền thống (object-

oriented).

Xây dựng và triển khai Web Service cho ứng dụng di động

10


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



LINQ có các toán tử truy vấn cơ bản sau: Filtering (lọc), Join
(nối), Projection (phép chiếu), Sorting (sắp xếp) , Grouping
(gom nhóm), Conversions (chuyển đổi), Concatenation

(ghép nối), Aggregation (kết hợp), Quantifier (toán tử định
lượng) , Partition (phân hoạch), Generation , Set , Equality
(bằng nhau), Element.

Xây dựng và triển khai Web Service cho ứng dụng di động

11


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)




Toán tử lọc (Filtering Operators)

Sử dụng từ khóa: where
Dùng để lọc các giá trị theo yêu cầu.
Ví dụ:
string[] cacTu= { “toi", “yeu", “lap", “trinh"};
IEnumerable<string> query = from tu in cacTu where
tu.Length == 3 select tu;

Xây dựng và triển khai Web Service cho ứng dụng di động

12


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Toán tử nối (Join Operators):

Cú pháp sử dụng:


Toán tử Join:
join … in … on … equals …




Toán tử GoupJoin:
join … in … on … equals … into …

Xây dựng và triển khai Web Service cho ứng dụng di động

13


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Toán tử nối (Join Operators):


Ví dụ sử dụng toán tử Join:
var danhSachNV = (from nv in nhanviens

join p in phongbans on
nv.PhongBanId equals d.PhongBanId
select new
{
TenNhanVien = nv.TenNhanVien,
TenPhongBan = d.TenPB
});

Xây dựng và triển khai Web Service cho ứng dụng di động


14


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Phép chiếu (Projection Operations)

Sử dụng từ khóa: select
Có 2 dạng: select và SelectMany
Ví dụ sử dụng select:
List<string> dsCacTu = new List<string>() { “chu", “meo", “con" };

var query = from tu in dsCacTu select tu.Substring(0, 1);

Ví dụ sử dụng SelectMany:
List<string> dsCacCumTu = new List<string>() { “chu meo con", “chay lon
ton trong san" };
var query = from cumTu in dsCacCumTu from tu in

cumTu.Split(' ') select tu;
Xây dựng và triển khai Web Service cho ứng dụng di động

15


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)




Sắp xếp (Sorting Operators )

Có 5 loại:
 OrderBy
 OrderByDescending: orderby ... descending
 ThenBy: orderby …, …
 ThenByDescending: orderby …, … descending

 Reverse

Xây dựng và triển khai Web Service cho ứng dụng di động

16


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Sắp xếp (Sorting Operators )

Ví dụ:
int[] num = { -20, 12, 6, 10, 0, -3, 1 };
// Sắp xếp dãy số trên thứ tự tăng dần
var daySo = from n in num orderby n select n;


// Sắp xếp dãy số trên theo thứ tự giảm dần
var daySoTangDan = from n in num orderby n descending select n;

Xây dựng và triển khai Web Service cho ứng dụng di động

17


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Gom nhóm (Grouping Operators )

 GroupBy
group … by
Hoặc:
group … by … into …
 ToLookup

Xây dựng và triển khai Web Service cho ứng dụng di động

18


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)




Conversions

 AsEnumerable
 AsQueryable
 Cast
 OfType
 ToArray

 ToDictionary
 ToList
 ToLookup
Xây dựng và triển khai Web Service cho ứng dụng di động

19


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Concatenation

 Concat

Xây dựng và triển khai Web Service cho ứng dụng di động

20



1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Aggregation

 Aggregate
 Average
 Count
 LonCount
 Max

 Min
 Sum

Xây dựng và triển khai Web Service cho ứng dụng di động

21


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Quantifier Operations

 All

 Any
 Contains

Xây dựng và triển khai Web Service cho ứng dụng di động

22


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Partition Operators

 Skip
 SkipWhile
 Take
 TakeWhile

Xây dựng và triển khai Web Service cho ứng dụng di động

23


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)




Generation Operations

 DefaultIfEmpty
 Empty
 Range
 Repeat

Xây dựng và triển khai Web Service cho ứng dụng di động

24


1.3 Cách truy vấn
Các toán tử truy vấn (Query Operators)



Set Operations

 Distinct
 Except
 Intersect
 Union

Xây dựng và triển khai Web Service cho ứng dụng di động

25



×