四、 添加模型Model(ASP.NET MVC5 系列)
在这一章节中我们将添加一些classes类来管理数据库中的movies。这些classes类就是ASP.NET MVC应用程序中的"model".
我们将用.NET框架中的数据访问技术,也就是实体框架(Entity Framework)来定义和处理这些model类。实体框架(简称EF)支持先编码(Code First)的开发模式。先编码的开发模式能够运行你写一些简单的C#类来创建模型对象(也叫POCO类,即"plain-old CLR objects")。接着你可以用这些C#类来动态创建数据库,这也就使得非常整洁,快速的开发流程成为可能。如果你被要求先创建数据库,你仍然可以沿着这个教程继续学习MVC和EF应用程序的开发。你可以引用Fizmakens的ASP.NET Scaffolding这本教程(讲述了database fist的方式).
1. 添加模板类Model Classes
在Solution Explorer里, 右击Models文件夹,点击Add, 然后选择Class.
键入class名为"Movie".
给这个Movie类添加下面的5个属性。
1 using System; 2 3 namespace MvcMovie.Models 4 { 5 public class Movie 6 { 7 public int ID { get; set; } 8 public string Title { get; set; } 9 public DateTime ReleaseDate { get; set; } 10 public string Genre { get; set; } 11 public decimal Price { get; set; } 12 } 13 }
我们将用Movie类来表示数据库中的Movies。每一个Movie对象的实例就关联数据库表中的一行,Movie类中的每一个属性表示数据库表中的每一列。
在同一个文件中,我们将添加MovieDBContext类:
1 using System; 2 using System.Data.Entity; 3 4 namespace MvcMovie.Models 5 { 6 public class Movie 7 { 8 public int ID { get; set; } 9 public string Title { get; set; } 10 public DateTime ReleaseDate { get; set; } 11 public string Genre { get; set; } 12 public decimal Price { get; set; } 13 } 14 15 public class MovieDBContext : DbContext 16 { 17 public DbSet<Movie> Movies { get; set; } 18 } 19 }
MovieDBContext类代表EF框架中Movie数据库中的数据上下文,其将用来处理获取,存储,更新数据库中Movie类的实例。MovieDBContext继承自EF框架中的Dbcontext基类。
为了能够引用DbContext和Dbset对象,你需要在文件顶部添加如下命名空间:
1 using System.Data.Entity;
你可以手动的添加这个using语句,或者鼠标右击,选择Resolve,在选择如下红框内容,然后选择using System.Data.Entity.
注意:几个不用的using语句已经被移除掉了。你可以鼠标右击,选择Organize Usings,接着选择Remove Unused Usings.
我们最终添加了一个Model(也就是MVC中的"M"), 在下面的章节中我们如何连接数据库。