还是继续上一文章中的微软给的入门项目MVC Movie,在这一章中学习添加Model
一、EF( Entity Framework )
You’ll use a .NET Framework data-access technology known as the Entity Framework to define and work with these model classes. The Entity Framework (often referred to as EF) supports a development paradigm called Code First. Code First allows you to create model objects by writing simple classes. (These are also known as POCO classes, from "plain-old CLR objects.") You can then have the database created on the fly from your classes, which enables a very clean and rapid development workflow.
EF提供“Code First”技术,允许先建立model类库,然后再根据model类库生成数据库,非常方便。
并且,可以直接通过操作与数据库对应的类来进行数据库操作,非常方便。
ADO Entity Framework提供了从关系数据库架构到对象的映射。关系数据库和面向对象的语言用不同的方式定义了关联。
ADo.NET Entity FrameWork支持直接定义完全独立于数据库结构的实体类,并把它们映射到数据库的表和关系上。通过应用程序使用对象,应用程序就可以免受数据库修改的影响。
ADO.net Entity FrameWork使用Entity SQL为存储器定义基于实体的数据库查询。LINQ to Entities允许使用LINQ语法来查询数据。对象上下文保存了变化的实体信息,从而在把实体写回存储器时,提供这些信息。
(另外详细的介绍可以看c# 高级编程 第七版 31章)
http://download.csdn.net/detail/bear_123/4878460
http://download.csdn.net/detail/bear_123/4878476
二、添加Model类:
1.在/Models文件夹下新建一个Model.cs类文件,在其中添加代码:
1 using System.Web; 2 using System.Data.Entity; 3 4 namespace MvcApplication1.Models 5 { 6 //和数据库中的表对应,一个对像对应表中一条记录 7 public class Movie 8 { 9 public int ID { get; set; } 10 public string Title { get; set; } 11 public DateTime ReleaseDate { get; set; } 12 public string Genre { get; set; } 13 public decimal Price { get; set; } 14 } 15 16 //用到了Entity Framework 17 //可以直接将对Movie类的操作作用到其所对应的数据库中 18 //使用前需要添加引用 System.Data.Entity 19 public class MovieDBContext : DbContext 20 { 21 public DbSet<Movie> Movies { get; set; } 22 } 23 24 }
2.Movie类:
和数据库中Movie表所对应的模型类,表中列和该类的property 一 一映射,一个Movie类的对象就是表中一条记录。
3.MovieDBContext类:
继承自System.Data.Entity.DbContext类,继承自这个类后,MovieDBContext类就可以表示Movie的DataBase Context(数据库上下文),这个DBContext可以通过操作Movie类对象的“存、取、更新”等,将结果直接作用到数据库。
三、在web.config中添加数据库连接字符串:
1 <connectionStrings> 2 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcApplication1-20130503095228;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcApplication1-20130503095228.mdf" providerName="System.Data.SqlClient" /> 3 <add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True;" providerName="System.Data.SqlClient"/> 4 </connectionStrings>
上面的DefaultConnection是原有的,MovieDBContext是我们新添的。
初学MS 的MVC 4,参照微软www.asp.net/mvc 中的入门项目,写个MVC 4的入门系列,以供复习和分享。
微软入门项目:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4
【目录】
1.[.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
2. [.NET MVC4 入门系列02]MVC Movie 为项目添加Model
3. [.NET MVC4 入门系列03]使用Controller访问Model中数据
4. [.NET MVC4 入门系列04]Controller和View间交互原理
5. .NET MVC4 入门系列05]添加自定义查询页Search
6. [.NET MVC4 入门系列06] 在Movie Model和表中添加新字段(Code First Migrations)