1 Bắt đầu với ASP.NET MVC3 (Phần 4: Adding a Model) Thu Oct 23, 2014 7:32 pm
Admin
Admin
Bắt đầu với ASP.NET MVC3 (Phần 4: Adding a Model)
Trong phần này chúng ta sẽ thêm một vài class dùng cho việc quản lí các bộ phim trong database. Các class là thành phần model của ứng dụng ASP.NET MVC.
Bạn sẽ sử dụng một .NET Framework được biết như là một kĩ thuật để truy suất dữ liệu đó là Entity Framework để định nghĩa và làm việc với các class model này. Entity Framework (gọi tắt là EF) hỗ trợ một mô hình mẫu gọi là Code First. Code First cho phép chúng ta tạo mô hình đối tượng bằng cách viết các class đơn giản. Sau đó chúng ta sẽ có database được tạo từ các class, làm cho qui trình phát triển thêm rõ ràng và nhanh chóng.
Đặt tên class là “Movie”.
Thêm 5 thuộc tính sau vào class Movie:
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
Chúng ta sẽ sử dụng class Movie để đại diện cho các bộ phim trong database. Mỗi một thể hiện của đối tượng Movie sẽ tương ứng với một dòng của bảng trong database, và mỗi thuộc tính của class Movie được map với một cột trong bảng.
Trong cùng tập tin đó, hãy add thêm class MovieDBContext:
public class MovieDBContext : DbContext
{
public DbSet Movies { get; set; }
}
Class MovieDBContext đại diện cho Entity Framework movie database context, xử lí gọi ra, lưu trữ, và cập nhật một thể hiện của class Movie trong database. MovieDBContext được suy ra từ class cơ sở DBContext được cung cấp bởi Entity Framework. Để biết thêm nhiều thông tin về DBContext và DBSet, xem Productivity Improvements for the Entity Framework.
Để có thể tham chiếu đến DBContext và DBSet, chúng ta cần thêm using sau vào phần trên của tập tin:
using System.Data.Entity;
Bên dưới là tập tin Movie.cs hoàn chỉnh:
using System;
using System.Data.Entity;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; } }
public class MovieDBContext : DbContext
{
public DbSet Movies { get; set; }
}
}
Mở tập tin Web.config trong thư mục gốc của ứng dụng (chọn tập tin Web.config được khoanh vùng trong hình bên dưới).
Thêm chuỗi kết nối sau vào trong cặp thẻtrong tập tin Web.config:
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
Sau đây là một phần của tập tin Web.config với chuỗi kết nối đã được thêm vào:
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
Phần trên gồm một ít mã và xml là mọi thứ mà chúng ta cần phải viết để dại diện và lưu trữ dữ liệu phim trong trong database.
Phần tiếp theo, chũng ta sẽ xây dựng mới một class MoviesController mà chúng ta có thể sử dụng để hiển thị dữ liệu của movie và cho phép người dùng tạo mới danh sách các bộ phim.
Bài viết được dịch từ Getting Started with ASP.NET MVC 3 (C#)/Adding a Model
Trong phần này chúng ta sẽ thêm một vài class dùng cho việc quản lí các bộ phim trong database. Các class là thành phần model của ứng dụng ASP.NET MVC.
Bạn sẽ sử dụng một .NET Framework được biết như là một kĩ thuật để truy suất dữ liệu đó là Entity Framework để định nghĩa và làm việc với các class model này. Entity Framework (gọi tắt là EF) hỗ trợ một mô hình mẫu gọi là Code First. Code First cho phép chúng ta tạo mô hình đối tượng bằng cách viết các class đơn giản. Sau đó chúng ta sẽ có database được tạo từ các class, làm cho qui trình phát triển thêm rõ ràng và nhanh chóng.
Thêm các class model
Trong solution explorer, click phải chuột trên thư mục Models, chọn Add, và sau đó chọn Class.Đặt tên class là “Movie”.
Thêm 5 thuộc tính sau vào class Movie:
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
}
Chúng ta sẽ sử dụng class Movie để đại diện cho các bộ phim trong database. Mỗi một thể hiện của đối tượng Movie sẽ tương ứng với một dòng của bảng trong database, và mỗi thuộc tính của class Movie được map với một cột trong bảng.
Trong cùng tập tin đó, hãy add thêm class MovieDBContext:
public class MovieDBContext : DbContext
{
public DbSet
}
Class MovieDBContext đại diện cho Entity Framework movie database context, xử lí gọi ra, lưu trữ, và cập nhật một thể hiện của class Movie trong database. MovieDBContext được suy ra từ class cơ sở DBContext được cung cấp bởi Entity Framework. Để biết thêm nhiều thông tin về DBContext và DBSet, xem Productivity Improvements for the Entity Framework.
Để có thể tham chiếu đến DBContext và DBSet, chúng ta cần thêm using sau vào phần trên của tập tin:
using System.Data.Entity;
Bên dưới là tập tin Movie.cs hoàn chỉnh:
using System;
using System.Data.Entity;
namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; } }
public class MovieDBContext : DbContext
{
public DbSet
}
}
Tạo chuỗi kết nối và làm việc với SQL Server Compact
class MovieDBContext chúng ta đã tạo xử lí các tác vụ kết nối đến database và map đối tượng Movie đến các mẫu tin trong database. Một câu hỏi mà chúng ta có thể đặt ra, suy nghĩ, là làm thế nào để kết nối đến database. Chúng ta sẽ làm điều đó bằng cách thêm thông tin kết nối trong tập tin web.config của ứng dụng.Mở tập tin Web.config trong thư mục gốc của ứng dụng (chọn tập tin Web.config được khoanh vùng trong hình bên dưới).
Thêm chuỗi kết nối sau vào trong cặp thẻtrong tập tin Web.config:
providerName="System.Data.SqlServerCe.4.0"/>
Sau đây là một phần của tập tin Web.config với chuỗi kết nối đã được thêm vào:
providerName="System.Data.SqlServerCe.4.0"/>
AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
Phần trên gồm một ít mã và xml là mọi thứ mà chúng ta cần phải viết để dại diện và lưu trữ dữ liệu phim trong trong database.
Phần tiếp theo, chũng ta sẽ xây dựng mới một class MoviesController mà chúng ta có thể sử dụng để hiển thị dữ liệu của movie và cho phép người dùng tạo mới danh sách các bộ phim.
Bài viết được dịch từ Getting Started with ASP.NET MVC 3 (C#)/Adding a Model