Khung thực thể - Phương pháp tiếp cận cơ sở dữ liệu đầu tiên
Trong chương này, chúng ta hãy tìm hiểu về cách tạo mô hình dữ liệu thực thể với cách tiếp cận Cơ sở dữ liệu đầu tiên.
Phương pháp tiếp cận cơ sở dữ liệu đầu tiên cung cấp một giải pháp thay thế cho các phương pháp tiếp cận Mã đầu tiên và Mô hình đầu tiên cho Mô hình dữ liệu thực thể. Nó tạo ra các mã mô hình (lớp, thuộc tính, DbContext, v.v.) từ cơ sở dữ liệu trong dự án và các lớp đó trở thành liên kết giữa cơ sở dữ liệu và bộ điều khiển.
Phương pháp Tiếp cận Cơ sở dữ liệu Đầu tiên tạo ra khung thực thể từ một cơ sở dữ liệu hiện có. Chúng tôi sử dụng tất cả các chức năng khác, chẳng hạn như đồng bộ hóa mô hình / cơ sở dữ liệu và tạo mã, giống như cách chúng tôi đã sử dụng chúng trong cách tiếp cận Mô hình Đầu tiên.
Hãy lấy một ví dụ đơn giản. Chúng ta đã có một cơ sở dữ liệu chứa 3 bảng như trong hình sau.
Step 1 - Hãy tạo một dự án giao diện điều khiển mới với tên DatabaseFirstDemo.
Step 2 - Để tạo mô hình, trước tiên hãy nhấp chuột phải vào dự án bảng điều khiển của bạ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ừ khung giữa và nhập tên DatabaseFirstModel 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 tất cả các bảng Chế độ xem và thủ tục đã lưu trữ mà bạn muốn đưa vào và bấm Kết thúc.
Bạn sẽ thấy rằng mô hình Thực thể và các lớp POCO được tạo từ cơ sở dữ liệu.
Bây giờ chúng ta hãy truy xuất tất cả các sinh viên từ cơ sở dữ liệu bằng cách viết đoạn mã sau vào tệp program.cs.
using System;
using System.Linq;
namespace DatabaseFirstDemo {
class Program {
static void Main(string[] args) {
using (var db = new UniContextEntities()) {
var query = from b in db.Students
orderby b.FirstMidName select b;
Console.WriteLine("All 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 chương trình 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...
Khi chương trình trên được thực hiện, bạn sẽ thấy tất cả tên của học sinh đã được nhập trước đó trong cơ sở dữ liệu.
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.