Bản trình bày 1

Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

So sánh giữa Entity Framework với LINQ to SQL:

Ta có bảng ánh xạ tương đương sau giữa các đối tượng trong database và EF: Database Object Entity Framework Object Database ObjectContext Table , View EntityObject , ComplexObject Column Property Relationship EntityCollection < TEntity >, EntityReference < TEntity >

So sánh giữa Entity Framework với LINQ to SQL:

Entity Client Data Provider : giúp chuyển đổi L2E hoặc truy vấn Entity SQL vào truy vấn SQL trong cơ sở dữ liệu . Nó sẽ giao tiếp với ADO.NET data provider hoặc lấy dữ liệu từ cơ sở dữ liệu . ADO.Net Data Provider : lớp này giao tiếp với cơ sở dữ liệu sử dụng theo chuẩn ADO.NET. Truy vấn dữ liệu : Ngôn ngữ truy vấn chính được chọn là LINQ to Entities bên cạnh đó vấn hỗ trợ một ngôn ngữ truy vấn khác tương tự như SQL đó là Entities SQL, ngoài ra với EF cho phép chúng ta có thể gọi trực tiếp một câu lệnh SQL hay một Procerdure từ database .

So sánh giữa Entity Framework với LINQ to SQL:

Đặc điểm của Entity Framwork Entity Framework là một framwork truy xuất dữ liệu , được xây dựng dựa trên nền tảng ADO.NET Hỗ trợ cho nhiều hệ quản trị cơ sở dữ liệu Vd : MSSSQL Server, Oracle , MySql , PostgreSQL , SQL Anywhere , DB2, Informix ,.. Tạo ra mô hình chung giữa database và mô hình thực thể quan hệ của ứng dụng Truy vấn dữ liệu thông qua Linq to Entities Hỗ trợ kiểu dữ liệu phức hợp ( Complex Type Support ) Hỗ trợ nhiều cách để tạo ra mô hình và có thể hiệu chỉnh mô hình một cách trực quan( Model Browser Improvements ) Linh hoạt trong việc mô hình hóa dữ liệu hướng đối tượng

So sánh giữa Entity Framework với LINQ to SQL:

Lợi ích khi sử dụng Entiy Framework - Rút ngắn thời gian phát triển ứng dụng do EF đã hỗ trợ sẵn các tính năng cơ bản để truy xuất dữ liệu . - Lập trình viên được làm việc với ứng dụng hướng đối tượng đúng nghĩa - Không phụ thuộc quá nhiều vào mô hình lưu trữ - Công việc truy xuất dữ liệu trở nên dễ dàng hơn

So sánh giữa Entity Framework với LINQ to SQL:

Các cách tiếp cận trong lập trình với Entity Frameword

So sánh giữa Entity Framework với LINQ to SQL:

Database First Nếu đã có sẵn một cơ sở dữ liệu (CSDL), Entity Framework có thể tự động tạo ra một mô hình dữ liệu bao gồm các lớp và thuộc tính tương ứng với các đối tượng CSDL như bảng và cột . Thông tin về cấu trúc CSDL của bạn ( store schema ), mô hình dữ liệu ( conceptual model ), và việc ánh xạ giữa chúng được lưu dưới dạng XML trong file . edmx . Visual Studio cung cấp một trình thiết kế Entity Framework , là một trình thiết kế dạng đồ họa cho phép bạn dùng để hiển thị và chỉnh sửa file . edmx .

So sánh giữa Entity Framework với LINQ to SQL:

Model First Nếu hiện bạn chưa có sẵn một CSDL, bạn có thể bắt đầu bằng cách tạo một mô hình dùng trình thiết kế Entity Framework trong Visual Studio . Sau khi hoàn thành , trình thiết kế này có thể tạo ra các câu lện DDL( data definition language ) để tạo nên CSDL. Cách tiếp cận này cũng dùng file . edmx để lưu thông tin mô hình và ánh xạ ( mapping ).

So sánh giữa Entity Framework với LINQ to SQL:

Code Model Không phụ thuộc vào việc đã có CSDL hay chưa, bạn có thể viết các lớp của riêng bạn và các thuộc tính tương ứng với các bảng và các cột , sau đó dùng chúng với Entity Framework mà không cần tới file . edmx . Đó lý vì sao đôi khi bạn thấy cách tiếp cận này được gọi là Code Only . mặc dù tên chính thức của nó là Code First . Việc ánh xạ giữa cấu trúc lưu trữ và mô hình khái niệm biểu diễn trong code của bạn được quản lý với những quy ước và tập API đặc biệt cho trước . Nếu bạn chưa có một CSDL, Entity Frame có thể tạo ra cho bạn , và thậm chí xóa và tạo lại nếu cấu trúc bị thay đổi .

So sánh giữa Entity Framework với LINQ to SQL:

POCO( Plain Old CLR Objects ) Mặc nhiên, khi dùng cách tiếp cận Database First hay Model First , các lớp thực thể trong mô hình dữ liệu sẽ thừa kế từ lớp EntityObject , lớp này sẽ cung cấp các chức năng Enity Framework . Điều này có nghĩa là các lớp đó về mặt kỹ thuật không persistence ignorant , và do vậy chúng không đáp ứng đầy đủ các yêu cầu của thiết kế domain-driven (nôm na là các lớp này thừa kế từ các lớp khác nên không tập trung duy nhất vào việc giải quyết yêu cầu bài toán ). Các cách tiếp cận của EF cũng có thể làm việc được với POCO ( plain old CLR objects ), tức đáp ứng được persistence-ignorant bởi vì chúng không thừa kế từ lớp EntityObject .

So sánh giữa Entity Framework với LINQ to SQL:

Làm việc với Entity Framework Bước 1: Khởi động Visual Studio tạo một project mới . Bước 2: Cài đặt Entity Framework cho Project Có 3 cách để cài Entity Framework : Cách 1 : Vào Tools -> NuGet Package Manager -> Manager NuGet Packages for Solution … Sau đó tìm EntityFramework và kích Install Cách 2 : Vào Tools -> NuGet Package Manager -> Package Manager Console Sau đó nhập lệnh Install-Package EntityFramework để cài đặt . Cách 3 : Tải file cài Entity Framework về và cài đặt trực tiếp vào máy , với cách này khi tạo các project bạn không cần phải cài đặt lại Entity Framework nữa .

So sánh giữa Entity Framework với LINQ to SQL:

Bước 3: Tạo các Class để thực hiện các thao tác với Database Danh sách các annotation mà Entity Framework hỗ trợ bao gồm : * KeyAttribute * StringLengthAttribute * MaxLengthAttribute * ConcurrencyCheckAttribute * RequiredAttribute * TimestampAttribute * ComplexTypeAttribute * ColumnAttribute Placed on a property to specify the column name, ordinal & data type

So sánh giữa Entity Framework với LINQ to SQL:

* TableAttribute Placed on a class to specify the table name and schema * InversePropertyAttribute Placed on a navigation property to specify the property that represents the other end of a relationship * ForeignKeyAttribute Placed on a navigation property to specify the property that represents the foreign key of the relationship * DatabaseGeneratedAttribute Placed on a property to specify how the database generates a value for the property (Identity, Computed or None) * NotMappedAttribute Placed on a property or class to exclude it from the database Bước 4: Tạo đối tượng và khởi tạo đối tượng đó để tạo cơ sở dữ liệu

So sánh giữa Entity Framework với LINQ to SQL:

So sánh giữa Entity Framework với LINQ to SQL LINQ to SQL(Language Integrated Query) Entity Framework - Chỉ làm việc với CSDL của SQL Server - Tạo ra file . dbml - Không hỗ trợ các kiểu phức tạp - Không thể tạo CSDL từ đối tượng - Chỉ có kiểu ánh xạ 1-1 giữa đối tượng class với table / views - Sử dụng DataContext - Có thể làm việc với các CSDL: Oracle , DB2, MySQL , SQL Server... - Tạo ra file . edmx , . csdl , . msl , . ssdl hoặc các file class . cs thông thường - Hỗ trợ các kiểu phức tạp - Có thể tạo CSDL từ Model / Code đã thiết kế - Có thể ánh xạ 1-1, 1-nhiều, nhiều-1, nhiều-nhiều giữa đối tượng entity với table / view - Sử dụng DbContext , Entity SQL, ObjectContext .

authorStream Live Help