Khung thực thể - Tổng quan
Khung thực thể là gì?
Entity Framework được phát hành lần đầu tiên vào năm 2008, là phương tiện chính của Microsoft để tương tác giữa các ứng dụng .NET và cơ sở dữ liệu quan hệ. Entity Framework là Object Relational Mapper (ORM) là một loại công cụ giúp đơn giản hóa việc ánh xạ giữa các đối tượng trong phần mềm của bạn tới các bảng và cột của cơ sở dữ liệu quan hệ.
Entity Framework (EF) là một khung ORM mã nguồn mở cho ADO.NET, là một phần của .NET Framework.
ORM đảm nhận việc tạo các kết nối cơ sở dữ liệu và thực thi các lệnh, cũng như lấy các kết quả truy vấn và tự động hiện thực hóa các kết quả đó thành các đối tượng ứng dụng của bạn.
ORM cũng giúp theo dõi các thay đổi đối với các đối tượng đó và khi được hướng dẫn, nó cũng sẽ lưu giữ các thay đổi đó trở lại cơ sở dữ liệu cho bạn.
Tại sao Entity Framework?
Entity Framework là một ORM và ORM nhằm mục đích tăng năng suất của nhà phát triển bằng cách giảm tác vụ dư thừa trong việc duy trì dữ liệu được sử dụng trong các ứng dụng.
Entity Framework có thể tạo ra các lệnh cơ sở dữ liệu cần thiết để đọc hoặc ghi dữ liệu trong cơ sở dữ liệu và thực thi chúng cho bạn.
Nếu đang truy vấn, bạn có thể thể hiện các truy vấn của mình đối với các đối tượng miền của mình bằng cách sử dụng LINQ cho các thực thể.
Entity Framework sẽ thực thi truy vấn có liên quan trong cơ sở dữ liệu và sau đó cụ thể hóa kết quả thành các phiên bản của đối tượng miền để bạn làm việc trong ứng dụng của mình.
Có các ORM khác trên thị trường như NHibernate và LLBLGen Pro. Hầu hết các ORM thường ánh xạ các loại miền trực tiếp với lược đồ cơ sở dữ liệu.
Entity Framework có một lớp ánh xạ chi tiết hơn để bạn có thể tùy chỉnh các ánh xạ, ví dụ: bằng cách ánh xạ một thực thể tới nhiều bảng cơ sở dữ liệu hoặc thậm chí nhiều thực thể vào một bảng.
Entity Framework là công nghệ truy cập dữ liệu được khuyến nghị của Microsoft cho các ứng dụng mới.
ADO.NET dường như đề cập trực tiếp đến công nghệ cho tập dữ liệu và bảng dữ liệu.
Khung thực thể là nơi tất cả các khoản đầu tư trong tương lai đang được thực hiện, điều này đã xảy ra trong một số năm rồi.
Microsoft khuyến nghị bạn sử dụng Entity Framework qua ADO.NET hoặc LINQ to SQL cho tất cả các bước phát triển mới.
Mô hình khái niệm
Đối với các nhà phát triển đã quen với việc phát triển tập trung vào cơ sở dữ liệu, sự thay đổi lớn nhất với Entity Framework là nó cho phép bạn tập trung vào miền doanh nghiệp của mình. Bạn muốn ứng dụng của mình làm gì mà không bị giới hạn bởi những gì cơ sở dữ liệu có thể làm?
Với Entity Framework, tiêu điểm được coi là một mô hình khái niệm. Đó là mô hình của các đối tượng trong ứng dụng của bạn, không phải là mô hình của cơ sở dữ liệu mà bạn sử dụng để duy trì dữ liệu ứng dụng của mình.
Mô hình khái niệm của bạn có thể phù hợp với lược đồ cơ sở dữ liệu của bạn hoặc nó có thể hoàn toàn khác.
Bạn có thể sử dụng Trình thiết kế trực quan để xác định mô hình khái niệm của mình, sau đó có thể tạo ra các lớp cuối cùng bạn sẽ sử dụng trong ứng dụng của mình.
Bạn chỉ có thể xác định các lớp của mình và sử dụng một tính năng của Entity Framework được gọi là Code First. Và sau đó Entity Framework sẽ hiểu được mô hình khái niệm.
Dù bằng cách nào, Entity Framework cũng tìm ra cách chuyển từ mô hình khái niệm sang cơ sở dữ liệu của bạn. Vì vậy, bạn có thể truy vấn các đối tượng mô hình khái niệm của mình và làm việc trực tiếp với chúng.
Đặc trưng
Sau đây là các tính năng cơ bản của Entity Framework. Danh sách này được tạo dựa trên các tính năng đáng chú ý nhất và cũng từ các câu hỏi thường gặp về Entity Framework.
- Entity Framework là một công cụ của Microsoft.
- Entity Framework đang được phát triển như một sản phẩm Mã nguồn mở.
- Entity Framework không còn bị ràng buộc hoặc phụ thuộc vào chu kỳ phát hành .NET.
- Hoạt động với bất kỳ cơ sở dữ liệu quan hệ nào với nhà cung cấp Khung thực thể hợp lệ.
- Tạo lệnh SQL từ LINQ đến Thực thể.
- Entity Framework sẽ tạo các truy vấn được tham số hóa.
- Theo dõi các thay đổi đối với các đối tượng trong bộ nhớ.
- Cho phép chèn, cập nhật và xóa tạo lệnh.
- Làm việc với một mô hình trực quan hoặc với các lớp học của riêng bạn.
- Entity Framework đã lưu trữ Hỗ trợ thủ tục.