Entity Framework (EF) là một framework ánh xạ quan hệ đối tượng (ORM) dành cho ADO.NET, là 1 phần của .NET Framework. EF cho phép các nhà phát triển Web tương tác với dữ liệu quan hệ theo phương pháp hướng đối tượng đặc trưng. Lợi ích lớn nhất của EF là giúp lập trình viên giảm thiểu việc lập trình mã nguồn cần thiết để truy cập và tương tác với cơ sở dữ liệu. EF được Microsoft hỗ trợ phát triển lâu dài và bền vững, vì vậy EF là 1 framework mạnh nhất hiện nay để phát triển ứng dụng Web với sự hỗ trợ đông đảo của các nhà phát triển Web.
Vị trí của Entity Framework trong mô hình lập trình và phát triển Web
Chắc hẳn, bạn đã biết về mô hình Web 3 tầng (n tầng) khi đọc sách, giáo trình, bài giảng về nội dung lập trình Web. Tuy nhiên, vấn đề bạn cần phải hiểu rõ là: việc định rõ số lượng các tầng và các mối liên hệ giữa các tầng trong mô hình phát triển Web cũng rất đa dạng, tùy theo cách hiểu các lập trình viên và dự án Web. Do đó, việc hiểu Entity Framework nằm ở đâu trong mô hình Web 3 tầng cũng không hoàn toàn dễ dàng. Trong phần này, tôi có tham khảo từ Stephen M. Redd nhằm giúp các bạn hiểu rõ bản chất vấn đề hơn.
Đầu tiên, chúng ta có vị trí của EF trong mô hình dự án Web ASP.NET MVC.
Trong mô hình trên, chúng ta thấy vị trí của EF nằm trọn trong tầng Data Access Layer, tức là EF đóng vai trò là nơi trung gian để tương tác dữ liệu từ database với các tầng cao hơn, chẳng hạn như Business Layer. Hay nói cách khác, EF đóng vai trò như là phiên bản mới của ADO.NET. Tuy nhiên vị trí của EF trong mô hình này chỉ có trên lý thuyết.
Thật sự, khi bắt tay xây dựng nhiều dự án Web, vị trí thường thấy EF ở các dự án website trên thực tế như mô hình sau.
Trong hình trên, EF dường như có vị trí rất tự do, xuất hiện ở cả 3 tầng Data Access Layer, Business Layer, và cả Presentation Layer. Các bạn có thể hình dung EF như là 1 thư viện, hễ tầng nào cần thì chỉ cần gọi đến. Mô hình này xuất phát có thể là sự cẩu thả của lập trình viên khi không thích tuân theo tiêu chuẩn quan hệ giữa các tầng hoặc cách giải thích khác là sự lỏng lẻo giúp cho việc lập trình thuận tiện hơn. Trong vài mô hình người ta gom tầng Data Access Layer và Business Layer chỉ làm tầng Data Model, và vị trí EF cũng bao hàm tầng Data Model và Presentation Layer như hình.
Đến đây, bạn có thể hiểu 1 cách chung nhất EF có vị trí trung gian, đóng vai trò kết nối giữa cơ sở dữ liệu và các thành phần khác của 1 dự án Web khi cần đến. Ngoài ra, có nhiều cách hiểu về vị trí của EF ở đâu trong mô hình Web, bạn sẽ dần khám phá để đưa ra cách hiểu và định nghĩa riêng trong quá trình thiết kế và xây dựng dự án Web ASP.NET.
Cách cài đặt Entity Framework
Cách 1: EF Tool
EF nằm trong EF Tools (các công cụ EF) có sẵn trong Visual Studio 2013. Nếu bạn sử dụng Visual Studio 2012, bạn có thể tải công cụ ở địa chỉ https://www.microsoft.com/en-us/download/details.aspx?id=40762 sau đó cài đặt.
Cách 2: EF Runtime
Phiên bản mới nhất của EF có sẵn tại gói EntityFramework tại Nuget (http://nuget.org/packages/EntityFramework/).
Để cài Entity Framework, bạn nhấn chuột phải vào thư mục References (hoặc bin) trong dự án Web và chọn Manage NuGet Packages.
Sau đó, bạn tìm và cài đặt gói Entity Framework vào dự án Web.
Cách 3: Cài đặt gói EF bằng dòng lệnh (Package Manager Console)
Bạn chọn thư mục cần cài đặt EF (bin hoặc References), sau đó chọn menu Tools -> Library Package Manager -> Package Manager Console như trong hình.
Ở phần dòng lệnh dưới đáy bộ công cụ, bạn gõ: Install-Package EntityFramework
Cài đặt bản EF mới nhất
Để cài đặt phiên bản EF mới nhất, bạn có thể chọn Include Prerelease trong cửa sổ Manage NuGet Package.
Kết luận
Như vậy, bài viết này giúp các bạn nắm các kiến thức cơ bản về Entity Framework, đồng thời là cách sử dụng, cài đặt EF vào dự án Web được xây dựng dựa trên bộ công cụ Visual Studio.
- APA:
Dammio. (2016). [Entity Framework] Phần 1: Giới thiệu Entity Framework. https://www.dammio.com/2016/11/04/entity-framework-phan-1-gioi-thieu-entity-framework.
- BibTeX:
@misc{dammio,
author = {Dammio},
title = {[Entity Framework] Phần 1: Giới thiệu Entity Framework},
year = {2016},
url = {https://www.dammio.com/2016/11/04/entity-framework-phan-1-gioi-thieu-entity-framework},
urldate = {2024-10-09}
}
có phải entity framework thật ra là chỉ vài thư viện ở trong bin?
khi biên dịch thì trong Bin thêm thư viện EntityFramework.dll nhé bạn, nhưng thật ra EF còn nhiều hơn nhé, không hẳn chỉ là thư viện đó đâu.
Nếu không muốn dùng Entity thì có framework nào khác tốt k nhỉ?
Hi, bạn có thể dùng NHibernate hay Mono, …
Entity Framework nó ánh xạ đến những thành phần nào của DB vậy a nhỉ.
Entity Framework sẽ map bằng LINQ tới database đến các bảng, các sơ đồ quan hệ, …. và cả Stored Procedure (https://msdn.microsoft.com/en-us/library/dn468673(v=vs.113).aspx)
anh cho em hỏi giờ em ánh xạ rồi muốn sửa db thì có cách nào sửa không
bạn sửa code tùy ý như db sau đó dùng Migration để thay đổi trong db
Sau khi đọc bài viết này tôi đã click và tất cả các quảng cáo trên trang của bạn như 1 cách để cám ơn bạn.
Bài viết hay và đúng cái tôi đang tìm hiểu
Cảm ơn bạn nhiều nhé!
[…] [Entity Framework] Phần 1: Giới thiệu Entity Framework | DAMMIO […]