Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
835,59 KB
Nội dung
Buổi MơhìnhCSDL Entity Framework codefirst Trần Minh Thái Mục tiêu Các thao tác cấu hình cho ứng dụng dùng mơhìnhCSDL Entity FrameWork codefirst Tạo CSDL Cài đặt SqlServer Compact Một số thao tác CSDL 2 Tạo CSDL Mục tiêu • Tìm hiểu việc xây dựng CSDL • Có thể dùng CSDL SQL Server, SQL Compact • SQL Compact triển khai phần 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 ADO.Net giúp xây dựng ứng dụng CSDL trở nên đơn giản thống C1 Cấu hình EF SQL Compact Add references •EntityFramework.dll •System.Data.Entity.dll •System.ComponentModel.DataAnnotations.dll (Các Attribute định nghĩa CSDL) C1 Cấu hình EF SQL Compact • EntityFramework tích hợp sẵn cài Visual Studio “C:\Program Files\Microsoft Visual Studio\2017\Community\Common7\IDE” C1 Cấu hình EF SQL Compact • EntityFramework tích hợp sẵn cài Visual Studio “C:\Program Files\Microsoft Visual Studio\2017\Community\Common7\IDE” C1 Cấu hình EF SQL Compact • System.Data.Entity.dll thư viện hệ thống (System) Assemblies hệ thống C1 Cấu hình EF SQL Compact • System.ComponentModel.DataAnnotations.dll “C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2” 10 C2 Cấu hình EF SQL Compact Cài đặt Nuget • Vào menu Tool\NuGet Package Manager\Package Manager Console • Install-Package EntityFramework Visual Studio tự động download gói EF thư mục Packages, tự động add thư viện dll vào dự án 11 Cấu hình EF SQL Compact Sau add reference thành công 12 Khai báo Model liệu mặc định B1 Tạo lớp Model định nghĩa bảng DL Tạo thư mục Model, định nghĩa Lớp tương ứng (các bảng DL) VD: Định nghĩa lớp Category chứa thành phần 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; } } } 14 B2 Định nghĩa mơhìnhCSDL • Tạo Lớp kế thừa DbDataContext để định nghĩa mơhìnhCSDL 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 Categories { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove(); } 15 B3 Tạo liệu khởi tạo ban đầu • Tạo Lớp liệu ban đầu cho ứng dụng cách thực IDatabaseInitializer • Cho phép xóa, tạo lại c ung cấp lại liệu cho CSDLCSDL tạo • Để cung cấp giá trị cho CSDL, tạo lớp dẫn xuất override phương thức Seed 16 VD: Tạo lớp DefaultData chứa DL ban đầu cho bảng Category namespace EntityFrameWorkExample.View { public class DefaultData : DropCreateDatabaseIfModelChanges { protected override void Seed(MyEntity context) { new List { new Category { ID = 1, Name = "Category new Category { ID = 2, Name = "Category new Category { ID = 3, Name = "Category new Category { ID = 4, Name = "Category new Category { ID = 5, Name = "Category }.ForEach(m => context.Categories.Add(m)); } } } 1" 2" 3" 4" 5" }, }, }, }, } 17 B4 Đăng ký liệu mặc định using System.Windows; using System.Data.Entity; using EntityFrameWorkExample.View; namespace EntityFrameWorkExample { /// /// Interaction logic for App.xaml /// public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); Database.SetInitializer(new DefaultData()); } } } 18 Cài đặt Sql Server Compact cho EF 19 Cài đặt Sql Server Compact cho EF Sau cài đặt xong, kiểm tra cài đặt file App.config Project ứng dụng 20 Các thao tác var db = new MyEntity(); Giả sử có đối tượng category thuộc lớp Category Thêm liệu: db.Categories.Add(category); Xóa liệu: db.Categories.Remove(category); Sửa liệu: db.Entry(category).State = EntityState.Modified; Các thao tác thay đổi nhớ Entity gọi db.SaveChanges() để lưu xuống CSDL 21 Q&A 22 22 ... ứ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 CSDL 2 Tạo CSDL Mục tiêu • Tìm hiểu việc xây dựng CSDL • Có thể dùng CSDL SQL Server, SQL... namespace EntityFrameWorkExample.View { public class MyEntity: DbContext { public DbSet Categories { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove();... dụng CSDL trở nên đơn giản thống C1 Cấu hình EF SQL Compact Add references EntityFramework. dll •System.Data.Entity.dll •System.ComponentModel.DataAnnotations.dll (Các Attribute định nghĩa CSDL)