Đăng bởi : Nông Ngọc Hoài
1/08/2014
thuvienwinform - LINQ to SQL có rất nhiều hàm, thủ tục hỗ trợ chúng ta trong việc lọc dữ liệu chọn dữ liệu và tất nhiên là nó đã được tối ưu sẵn, cách sử dụng cũng rất đơn giản, dễ ràng trong việc sử dụng, hôm nay mình xin được giới thiệu với mọi người một số hàm, thủ tục chọn dữ liệu
1. Chọn dữ liệu từ 2 bảng:
- Để chọn dữ liệu từ 2 bảng ta sẽ dùng lệnh from như sau:
var canBos = from cb in db.tbCanBos from phong in db.tbPhongs where (cb.IdPhong == phong.IdPhong) && (phong.TenPhong == "Khoa Ngữ") select new { hotenthat = cb.Hoten, quequan = cb.QueQuan, cb.HeSoLuong, phong.TenPhong };
- Chú ý: trong select ta phải dùng new, tức là tạo một bảng mới gồm các thành viện được chọn.
2. Sắp xếp tăng dần theo một trường
- Cách 1: Sắp xếp ngay trong câu lệnh truy vấn:
var canBos = from cb in db.tbCanBos from phong in db.tbPhongs where (cb.IdPhong == phong.IdPhong) && (phong.TenPhong == "Khoa Ngữ") orderby cb.HeSoLuong descending //Sap xep theo hesoluong select new { hotenthat = cb.Hoten, quequan = cb.QueQuan, cb.HeSoLuong, phong.TenPhong };
Câu truy vấn này sẽ chọn ra những cán bộ thuộc khoa ngoại ngữ và sắp xếp tăng dần theo hesoluong
- Cách 2: Truy vấn xong mới sắp xếp (cách này hay hơn)
var canBos = from cb in db.tbCanBos from phong in db.tbPhongs where (cb.IdPhong == phong.IdPhong) && (phong.TenPhong == "Khoa Ngữ") select new { hotenthat = cb.Hoten, quequan = cb.QueQuan, cb.HeSoLuong, phong.TenPhong }; canBos = canBos.OrderByDescending(p => p.HeSoLuong);
3. Lấy số dữ liệu nhất định
- Như ví dụ lấy số cán bộ ở trên, ta chỉ cẩn lấy ra 10 đầu tiên trong kết quả thu được thôi, câu lệnh sẽ là:
canBos = canBos.Take(10);Hoặc
canBos = canBos.Skip(10);- Với cách dùng Skip() thì ta sẽ bỏ qua 10 người ở đầu danh sách và lấy những người từ vị trí 11 trong danh sách thu được
4. Đếm số dữ liệu thu được sau khi truy vấn
int soNguoi = canBos.Count(10);
<còn tiếp>
Xem thêm :
Code,
Database,
Linq
- Lấy IP của máy, địa chỉ IP và tên các máy trọng mạng nội bộ (LAN)
- Lỗi "operation is not valid due to the current state of the object"
- Gửi dữ liệu qua mạng với ThuVienWinform.Mang.GuiDuLieuNoiBo
- Sửa lỗi tạo Diagram trong MS SQL Server Management studio
- Các yêu cầu đóng gói phần mềm (có hoặc không có cơ sở dữ liệu)
- LINQ to Sqlite, LINQ to MySQL, LINQ to Oracle
- Code kiểm tra dữ liệu vừa thay đôi trong CSDL
- Một số hàm hữu ích trong LINQ to SQL
- [Linq to Sql] Tim kiếm
- [Linq to Sql] Xóa dữ liệu
- [Linq to Sql] Sửa dữ liệu
- [Linq to Sql] Load và Thêm dữ liệu
- [Linq] Giới thiệu
- Mời sử dụng Tool Import dữ liệu lên Wocommerce siêu tốc
- Mời tải về phần mềm tăng tương tác YouTube chỉ với 14k/tháng
- Bất đồng bộ với Entity Framework, tại sao không?
- Mời dùng thử phần mềm chuyển định dạng font chữ CF3
- Chú ý khi sử dụng ProgressBar
- Đóng gói phần mềm - Đặt tất cả thư viện liên kết động (DLL) vào 1 thư mục
- Tạo mã kích hoạt cho phần mềm