Khung thực thể - Chế độ xem

Chế độ xem là một đối tượng chứa dữ liệu thu được bởi một truy vấn xác định trước. Chế độ xem là một đối tượng hoặc bảng ảo có tập kết quả bắt nguồn từ một truy vấn. Nó rất giống với một bảng thực vì nó chứa các cột và hàng dữ liệu. Sau đây là một số cách sử dụng điển hình của khung nhìn -

  • Lọc dữ liệu của các bảng bên dưới
  • Lọc dữ liệu cho mục đích bảo mật
  • Tập trung dữ liệu được phân phối trên một số máy chủ
  • Tạo tập dữ liệu có thể tái sử dụng

Chế độ xem có thể được sử dụng theo cách tương tự như bạn có thể sử dụng bảng. Để sử dụng chế độ xem như một thực thể, trước tiên, bạn sẽ cần thêm các chế độ xem cơ sở dữ liệu vào EDM. Sau khi thêm các dạng xem vào mô hình của mình, bạn có thể làm việc với nó theo cách giống như các thực thể bình thường ngoại trừ các thao tác Tạo, Cập nhật và Xóa.

Chúng ta hãy xem, làm thế nào để thêm các khung nhìn vào mô hình từ cơ sở dữ liệu.

Step 1 - Tạo một dự án Ứng dụng Console mới.

Step 2 - Nhấp chuột phải vào dự án trong trình khám phá giải pháp và chọn Thêm → Mục mới.

Step 3 - Chọn ADO.NET Entity Data Model từ ngăn giữa và nhập tên ViewModel vào trường Name.

Step 4 - Nhấp vào nút Thêm sẽ khởi chạy hộp thoại Trình hướng dẫn mô hình dữ liệu thực thể.

Step 5 - Chọn EF Designer từ cơ sở dữ liệu và nhấp vào nút Tiếp theo.

Step 6 - Chọn cơ sở dữ liệu hiện có và nhấp vào Tiếp theo.

Step 7 - Chọn Entity Framework 6.x và nhấp vào Tiếp theo.

Step 8 - Chọn bảng và dạng xem từ cơ sở dữ liệu của bạn và nhấp vào Kết thúc.

Bạn có thể thấy trong cửa sổ trình thiết kế rằng một dạng xem đã được tạo và bạn có thể sử dụng nó trong chương trình như một thực thể.

Trong trình khám phá giải pháp, bạn có thể thấy rằng lớp MyView cũng được tạo từ cơ sở dữ liệu.

Hãy lấy một ví dụ trong đó tất cả dữ liệu được truy xuất từ ​​chế độ xem. Sau đây là mã -

class Program {

   static void Main(string[] args) {

      using (var db = new UniContextEntities()) {

         var query = from b in db.MyViews
            orderby b.FirstMidName select b;

         Console.WriteLine("All student in the database:");

         foreach (var item in query) {
            Console.WriteLine(item.FirstMidName + " " + item.LastName);
         }

         Console.WriteLine("Press any key to exit...");
         Console.ReadKey();
      }
   }
}

Khi đoạn mã trên được thực thi, bạn sẽ nhận được kết quả sau:

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

Chúng tôi khuyên bạn nên thực hiện ví dụ trên theo cách từng bước để hiểu rõ hơn.