1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Kỹ thuật >

B. Tạo EDM theo hướng Model First (Step by Step)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.81 MB, 76 trang )


Database First do không thể nắm và tối ưu hết được các công đoạn cần làm.

Chẳng hạn, chúng ta xây dựng bảng SinhVien dùng để lưu trữ sinh viên, nếu để

ý có thể thấy bảng SinhVien có thể dùng cho các module như: quản lý học

phần/điểm, quản lý sinh viên, quản lý thời khóa biểu, quản lý thư viện (mượn trả

sách), … Nếu xây dựng phần mềm theo các phương pháp khác, đơi khi chúng ta

khó nhìn tổng quan vì vậy có thể tạo bảng SinhVien lặp lại ở nhiều module con.

Model First cho phép bạn tạo 1 mơ hình dùng Entity Framework

Designer và sau đó gieo lược đồ cơ sở dữ liệu từ mơ hình. Mơ hình được lưu

trữ ở tập tin EDMX (.edmx) và có thể xem, chỉnh sửa ở Entity Framework

Designer. Các lớp tương tác với ứng dụng được tự động gieo từ tập tin EDMX.

Tương tự như Database First hay Code First, bạn cần có Visual Studio 2013 để

thực hiện ứng dụng. Nếu bạn xài VS 2010 hay VS 2012 bạn cần cài đặt thêm

gói NuGet.

1.



Tạo ứng dụng



Để các bạn dễ nắm bắt, chúng ta sẽ tạo 1 ứng dụng Console dùng Model First

để thực thi truy cập dữ liệu.



34



Mở Visual Studio, chọn File -> New -> Project…, chọn Visual C# và Console

Application, đặt tên ứng dụng là DammioModelFirst, sau đó nhấn OK.



2.



Tạo mơ hình



Để tạo mơ hình cho ứng dụng, chúng ta chọn Project, chuột phải -> Add -> Add



35



New Item…



Tiếp đến bạn chọn mục Data dưới mục Visual C# Items bên menu trái và

chọn ADO.NET Entity Data Model, đặc tên mơ hình là DammioModel, chọn

Empty EF Designer Model (hoặc Empty model) và nhấn Finish để hoàn thành.



36



37



Tiếp theo, tập tin DammioModel.edmx được mở ra với 1 mơ hình trống. Bây giờ

chúng ta sẽ tiếp hành xây dựng mơ hình bằng cách thêm mới các thực thể

(entity), thuộc tính và các mối quan hệ giữa các thực hiện trong mơ hình.

Rê chuột vào vùng trống, chuột phải chọn Properties. Trong cửa sổ Properties,

chúng ta có thể thay đổi tên thuộc tính “Entity Container Name” với giá trị

là DammioModelContainer thành BloggingContext hay bất cứ tên nào bạn

muốn.



Đây là tên context kế thừa từ lớp DbContext sẽ được tự động gieo mã nguồn,

context thể hiện 1 phiên làm việc với database, cho phép chúng ta truy vấn và

lưu trữ dữ liệu.

Tiếp đến, chúng ta tạo 1 thực thể bằng cách chuột phải lên vùng trống,

chọn Add New -> Entity… Đặt tên thực thể là Blog và BlogId là khóa chính,

sau đó nhấn OK.



38



Để tạo thêm thuộc tính cho thực thể Blog, chọn thực thể này, chuột phải

chọn Add New -> Scalar Property, điền Name là tên thuộc tính.



39



Chuột phải lên thuộc tính Name, chọn Properties, lúc này chúng ta sẽ có được

cửa số Properties cho thuộc tính Name.



Trong cửa sổ Properties của thuộc tính Name, chúng ta có các mục chính sau:



















Default Value: là giá trị mặc định của thuộc tính, đặt (None) nghĩa là khơng có giá

trị mặc định

Entity Key: đặt khóa của thực thể (True/False)

Fixed Length: chiều dài cố định của thuộc tính (True/False)

Getter/Setter: phạm vi truy cập của 2 thuộc tính Getter/Setter (Public, Protected,

Private, Internal)

Max Length: chiều dài tối đa

Name: tên thuộc tính

Nullable: cho phép thuộc tính có dữ liệu null hay khơng (None/True/False)

Type: kiểu dữ liệu của thuộc tính

Chúng ta lặp lại các bước trên cho thuộc tính Url, chuột phải lên thuộc tính Url

chọn Properties, đặt thuộc tính Nullable là True để cho phép thêm 1 Blog mới

mà không cần phải mô tả giá trị Url.



40



Chúng ta tạo thêm thực thể Post với PostId là khóa chính và 2 thuộc tính là Title

và Content.



Đến đây, chúng ta phải tạo thêm mối quan hệ giữa các bảng trong mơ hình.

Chuột phải là vùng trống giao diện, chọn Add New -> Association… Khi đó

chúng ta sẽ thấy sự xuất hiện của mối quan hệ giữa 2 thực thể vừa tạo.

Diễn giải quan hệ là 1 Blog chứa nhiều Post và 1 Post chỉ thuộc về 1 Blog. Mối

quan hệ giữa Blog và Post là 1 (One) và * (Many). Chúng ta có thêm 2 thuộc

tính điều hướng đó là: Posts và Blog. Hai thuộc tính này giúp lấy được giá trị của

thực thể Blog và Post mà không cần truy xuất trực tiếp các thực thể này. Thêm

khóa ngoại vào thực thể Post và nhấn dấu check, sau đó nhấn OK để tạo mối

quan hệ.



41



Sau khi tạo xong mối quan hệ, chúng ta có sơ đồ hồn chỉnh cho ví dụ đơn giản

như sau.



Việc tạo một mối liên hệ thừa kế (inheritance) tương tự như tạo association. Khi

tạo một thừa kế (inheritance) giữa hai entity, entity con sẽ được thừa hưởng tất

cả property của entity cha. Điều này tương ứng với mối quan hệ 1-1 trong

database.

Ví dụ Model có quan hệ thừa kế



42



3.



Gieo cơ sở dữ liệu



Với mơ hình cho trước, Entity Framework có thể tính 1 lược đồ database cho

phép chúng ta lưu trữ và rút trích dữ liệu bằng mơ hình. Tùy theo phiên bản

Visual Studio, bạn sẽ tạo database ở những nơi khác nhau.







Nếu bạn xài VS 2010, bạn sẽ tạo 1 SQL Express database

Nếu bạn xài VS 2012, bạn sẽ tạo 1 LocalDb database.

Tiếp theo, để gieo database, chọn chuột phải lên vùng trống, chọn Generate

Database from Model… Chọn New Connection… và đặc tả hệ cơ sở dữ liệu

như LocalDb ((localdb)\v11.0) hoặc SQL Express (.\SQLEXPRESS) hay bất cứ

hệ cơ sở dữ liệu nào bạn muốn để gieo mơ hình. Sau đó, điền tên



43



DammioModelFirst.Blogging là tên cơ sở dữ liệu và nhấn OK.



Bởi vì server tơi chọn chưa có database Test, một hộp thoại xác nhận hiện ra yêu

cầu tạo database này. Hãy nhấn OK để tiếp tục.

Trong cửa sổ wizard, nhấn Next và bạn sẽ thấy các mã DDL sẽ được tạo ra và

lưu trong tập tin Model1.edmx.sql. Nhấn Finish và tập tin .sql này sẽ được mở ra.

Bạn có thể thấy rằng các tên table sắp được tạo ra được tự động chuyển về

dạng số nhiều dựa vào tên của entity. Trong trường hợp này là entity Person sẽ

được chuyển thành table People.



44



Xem Thêm
Tải bản đầy đủ (.docx) (76 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×