Presentation is loading. Please wait.

Presentation is loading. Please wait.

Buổi 7 Mô hình CSDL Entity Framework code first

Similar presentations


Presentation on theme: "Buổi 7 Mô hình CSDL Entity Framework code first"— Presentation transcript:

1 Buổi 7 Mô hình CSDL Entity Framework code first
Trần Minh Thái Chương 0

2 Mục tiêu Các thao tác cấu hình cho ứng dụng dùng mô hình CSDL Entity FrameWork code first Tạo CSDL Cài đặt SqlServer Compact Một số thao tác cơ bản trên CSDL Chương 0

3 Tạo CSDL

4

5 Mục tiêu Tìm hiểu về việc xây dựng CSDL
Có thể dùng CSDL SQL Server, SQL Compact SQL Compact có thể được triển khai như 1 phần của project mà không yêu cầu máy client phải cài đặt SQL Server Việc truy vấn LINQ với mô hình Entity Framework (EF) hay LINQ to SQL để thay thế ADO.Net giúp xây dựng các ứng dụng CSDL cũng trở nên đơn giản và thống nhất hơn

6 C1. Cấu hình EF và SQL Compact
Add references EntityFramework.dll System.Data.Entity.dll System.ComponentModel.DataAnnotations.dll (Các Attribute định nghĩa CSDL)

7 C1. Cấu hình EF và SQL Compact
EntityFramework được tích hợp sẵn khi cài Visual Studio “C:\Program Files\Microsoft Visual Studio\2017\Community\Common7\IDE”

8 C1. Cấu hình EF và SQL Compact
EntityFramework được tích hợp sẵn khi cài Visual Studio “C:\Program Files\Microsoft Visual Studio\2017\Community\Common7\IDE”

9 C1. Cấu hình EF và SQL Compact
System.Data.Entity.dll là thư viện hệ thống (System) trong Assemblies của hệ thống

10 C1. Cấu hình EF và SQL Compact
System.ComponentModel.DataAnnotations.dll “C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2”

11 C2. Cấu hình EF và SQL Compact
Cài đặt bằng Nuget Vào menu Tool\NuGet Package Manager\Package Manager Console Install-Package EntityFramework Visual Studio tự động download gói EF trong thư mục Packages, và tự động add các thư viện dll vào dự án

12 Cấu hình EF và SQL Compact
Sau khi add reference thành công

13 Khai báo Model và dữ liệu mặc định

14 B1. Tạo lớp Model định nghĩa bảng DL
Tạo thư mục Model, và định nghĩa các Lớp tương ứng (các bảng DL) VD: Định nghĩa lớp Category chứa 2 thành phần dữ liệu (ID: Mã loại, Name: Tên loại) namespace EntityFrameWorkExample.View { public class Category public int ID { get; set; } public string Name { get; set; } }

15 B2. Định nghĩa mô hình CSDL
Tạo Lớp kế thừa DbDataContext để định nghĩa mô hình CSDL dùng Entity Framework VD: Tạo lớp MyEntity using System.Data.Entity; using System.Data.Entity.ModelConfiguration.Conventions; namespace EntityFrameWorkExample.View { public class MyEntity: DbContext public DbSet<Category> Categories { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); }

16 B3. Tạo dữ liệu khởi tạo ban đầu
Tạo Lớp dữ liệu ban đầu cho ứng dụng bằng cách hiện thực IDatabaseInitializer<TContext> Cho phép xóa, tạo lại và c ung cấp lại dữ liệu cho CSDL khi CSDL được tạo Để cung cấp giá trị cho CSDL, tạo một lớp dẫn xuất và override phương thức Seed

17 VD: Tạo lớp DefaultData chứa DL ban đầu cho bảng Category
namespace EntityFrameWorkExample.View { public class DefaultData : DropCreateDatabaseIfModelChanges<MyEntity> protected override void Seed(MyEntity context) new List<Category> new Category { ID = 1, Name = "Category 1" }, new Category { ID = 2, Name = "Category 2" }, new Category { ID = 3, Name = "Category 3" }, new Category { ID = 4, Name = "Category 4" }, new Category { ID = 5, Name = "Category 5" } }.ForEach(m => context.Categories.Add(m)); }

18 B4. Đăng ký dữ liệu mặc định
using System.Windows; using System.Data.Entity; using EntityFrameWorkExample.View; namespace EntityFrameWorkExample { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application protected override void OnStartup(StartupEventArgs e) base.OnStartup(e); Database.SetInitializer(new DefaultData()); }

19 Cài đặt Sql Server Compact cho EF

20 Cài đặt Sql Server Compact cho EF
Sau khi cài đặt xong, kiểm tra cài đặt trong file App.config của Project ứng dụng

21 var db = new MyEntity();
Các thao tác cơ bản var db = new MyEntity(); Giả sử có đối tượng category thuộc lớp Category 1. Thêm mới dữ liệu: db.Categories.Add(category); 2. Xóa dữ liệu: db.Categories.Remove(category); 3. Sửa dữ liệu: db.Entry(category).State = EntityState.Modified; Các thao tác trên chỉ thay đổi trên bộ nhớ Entity  gọi db.SaveChanges() để lưu xuống CSDL

22 Q&A


Download ppt "Buổi 7 Mô hình CSDL Entity Framework code first"

Similar presentations


Ads by Google