11 linq

Page 1

ThS. Nguyễn Nghiệm 0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com


trúc tổ chức của LINQ .  Khái niệm cơ bản trong LINQ  Kỹ thuật lập trình mới  Kiến

Thuộc tính tự động (Automatic Property) Khởi tạo đối tượng (Object Initializer) Kiểu cục bộ tự suy (Local Inference Type) Kiểu nặc danh (Anonymous Type) Phương thức mở rộng (Extension Method) Khởi tạo tập hợp (Collection Initializer)  Kỹ thuật truy vấn dữ liệu





Thuộc tính được định nghĩa đầy đủ. (***Thuộc tính là alias của field***)

Thuộc tính dự động. (***Tự sinh field để lưu trữ dữ liệu***)


Gán giá trị cho các thuộc tính ngay lúc khởi tạo đối tượng

Đoạn mã đã được sử dụng trước đây


Kiểu cục bộ tự suy

Inteligence của VS 2012

var được sử dụng để khai báo biến cục bộ tự suy. Biến này được nhận biết trong phạm vi khối lệnh khai báo Không thể dùng var để định nghĩa field


Tạo đối tượng mới không cần định nghĩa lớp.  Property được cấp phát động  Sử dụng biến tự suy để nắm giữ đối tượng 


 Được sử dụng để định nghĩa bổ sung các phương

thức cho một lớp đã tồn tại  Sau đây là phương thức Submit() được định nghĩa bổ sung cho lớp HtmlHelper

 Phương thức mở rộng được sử dụng như các

phương thức gốc của lớp được bổ sung


Biểu tượng của phương thức gốc

Biểu tượng của phương thức mở rộng




   

Biểu thức truy vấn trên thực hiện như vòng lập foreach hoạt động trên tập hợp numbers. Duyệt tất cả các phần tử trong tập numbers, mỗi phần tử n trong from được kiểm tra điều kiện tại where và nếu thỏa mãn sẽ được chọn lấy bởi select. from: chỉ ra phần tử được lấy từ tập hợp cần truy vấn where: chỉ ra điều kiện lọc select: chỉ ra đối tượng nhận được Kết quả của biểu thức truy vấn linq là 1 tập hợp chứa các đối tượng được chọn bởi mệnh đề select.


Tạo biến mới Sắp xếp

Biểu thức truy vấn trên cho kết quả là 1 tập hợp chứa các đối tượng nặc danh được sắp xếp giảm dần theo số chẵn được chọn. Mỗi đối tượng gồm 2 thuộc tính là namber và rate.


Nhóm chia 3 dư 0 gồm 6, 45, 87 {Nhom=0, SoLuong=3,…}

Nhóm chia 3 dư 1 gồm 19, 13 {Nhom=1, SoLuong=2,…}

Nhóm chia 3 dư 2 gồm 23, 56, 5, 8 {Nhom=2, SoLuong=4,…}


 IEnumerable. Where (e => đk) : IEnumerable

Lọc các phần tử theo điều kiện đk  IEnumerable. OrderBy (e => exp) : IEnumerable

Sắp xếp các phần tử tăng dần theo biểu thức exp  IEnumerable. OrderByDescending (e => exp) :

IEnumerable Sắp xếp các phần tử giảm dần theo biểu thức exp  IEnumerable. Select (e => object) : IEnumerable

Chọn đối tượng object  IEnumerable. GroupBy (e => exp): IEnumerable

Phân nhóm các phần tử theo biểu thức exp


 IEnumerable. Max ([e => exp]): decimal?

Tìm giá trị lớn nhất của biểu thức exp  IEnumerable. Min ([e => exp]) : decimal?

Tìm giá trị nhỏ nhất của biểu thức exp  IEnumerable. Average ([e => exp]) : decimal?

Tìm giá trị trung bình của biểu thức exp  IEnumerable. Sum ([e => exp]) : decimal?

Tính tổng giá trị của biểu thức exp  IEnumerable. Count ([e => đk]) : decimal?

Đếm số lượng các phần tử thỏa mãn điều kiện



 IEnumerable. All ([e => đk]) : bool

Kiểm tra xem tất cả các phần tử trong tập hợp có thỏa mãn điều kiện hay không?  IEnumerable. Any ([e => đk]) : bool

Kiểm tra xem có phần tử nào trong tập hợp thỏa mãn điều kiện hay không?  IEnumerable. Contains (element) : bool

Kiểm tra xem tập hợp có chứa phần tử này hau không?



 IEnumerable. Single (e => dk) : Entity

Truy vấn 1 phần tử thỏa điều kiện. Lỗi nếu không tìm thấy hoặc có nhiều hơn 1 phần tử  IEnumerable. First () : Entity

Truy vấn phần tử đầu tiên  IEnumerable. Last () : Entity

Truy vấn phần tử cuối cùng


 IEnumerable. Take (n) : IEnumerable

Lấy n phần tử đầu  IEnumerable. TakeWhile (e => đk) : IEnumerable

Lây các phần tử đầu khi điều kiện còn đúng  IEnumerable. Skip (n) : IEnumerable

Bỏ qua n phần tử đầu  IEnumerable. SkipWhile (e => đk) : IEnumerable

Bỏ qua các phần tử đầu khi điều kiện còn đúng


 IEnumerable. Intersect (second) : IEnumerable

Giao 2 tập hợp (lấy các phần tử trong tập hợp có mặt trong tập second)  IEnumerable. Concat (second) : IEnumerable

Ghép 2 tập hợp (tất cả các phần tử bằng nhau đều được giữ lại)  IEnumerable. Union (second) : IEnumerable

Hợp 2 tập hợp (chỉ giữ 1 phần tử bằng nhau)  IEnumerable. Except (second) : IEnumerable

Hiệu 2 tập hợp (lấy các phần tử trong tập hợp không có trong tập second)


ThS. Nguyễn Nghiệm 0913.745.789 nghiemn@fpt.edu.vn songlong2k@gmail.com


Liệt kê tất cả hàng hóa Db.Products

Tìm kiếm hàng hóa theo tên Db.Products.Where(p=>p.Name.Contains(?Search))

Tìm kiếm hàng hóa theo giá Db.Products.Where(p=>p.UnitPrice >= ?Min && p.UnitPrice <= ?Max))

Phân trang hàng hóa Db.Products.Skip(?PageNo*PageSize).Take(?PageSize)

Hiển thị chi tiết hàng hóa và hàng cùng loại Db.Products.Single(p=>p.Id=?Id) Db.Products.Single(p=>p.Id=?Id).Category.Products

Thống kê hàng hóa theo loại Db.Products.GroupBy(p=>p.Category).Select(g=>new{})


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.