2014-12-03 18 views
5

Sự khác biệt cơ bản giữa ADO.net và Entity Framework là gì?Entity Framework VS Ado.net

Tại sao chúng ta nên sử dụng Mô hình dữ liệu thực thể thay vì Lệnh và Tập dữ liệu?

+1

Bạn đang so sánh táo và cam - Entity Framework là một ORM, ADO là một cơ chế và thiết lập các công cụ để kết nối với cơ sở dữ liệu ... không sử dụng bộ dữ liệu (IMHO với kỹ khuyến cáo thông thường rất hiếm xuất hiện) – Liath

+1

ADO.net là một lớp gần cơ sở dữ liệu hơn. Sử dụng các lớp thay vì tập dữ liệu. EF là ORM như đã đề cập dưới đây. – JoshYates1980

Trả lời

5

thực thể ADO.NET là một ORM (đối tượng quan hệ ánh xạ) tạo ra một mô hình đối tượng trừu tượng cao hơn trên các thành phần ADO.NET. Vì vậy, thay vì đi vào tập dữ liệu, datatables, lệnh, và các đối tượng kết nối như thể hiện trong đoạn code dưới đây, bạn làm việc trên các đối tượng tên miền cấp cao như khách hàng, nhà cung cấp, vv

DataTable table = adoDs.Tables[0]; 
for (int j = 0; j < table.Rows.Count; j++) 
{ 
    DataRow row = table.Rows[j]; 

    // Get the values of the fields 
    string CustomerName = 
     (string)row["Customername"]; 
    string CustomerCode = 
     (string)row["CustomerCode"]; 
} 

Dưới đây là mã cho Entity Framework trong chúng tôi đang làm việc trên các đối tượng miền cấp cao hơn như khách hàng hơn là với các thành phần ADO.NET cấp cơ sở (như tập dữ liệu, bộ dữ liệu, lệnh, đối tượng kết nối, v.v.).

foreach (Customer objCust in obj.Customers) 
{} 

Các chính và lợi ích duy nhất của EF là nó tự động tạo mã cho Model (lớp giữa), Data Access Layer, và mã lập bản đồ, do đó làm giảm rất nhiều thời gian phát triển.

here

1

Tôi nghĩ câu hỏi này là loại gây hiểu nhầm. Entity Framework là một trình bao bọc cho ADO.NET. Vì vậy, gần như không có sự khác biệt giữa hai hiệu suất đó (có thể khung thực thể chậm hơn một chút). Những gì bạn sử dụng phụ thuộc hoàn toàn vào sở thích của bạn. Im hiện đang sử dụng khung Entity cho gần như tất cả mọi thứ liên quan đến cơ sở dữ liệu vì nó có vẻ đơn giản hơn và nhanh hơn để có được những gì bạn cần.

Các vấn đề liên quan