還是繼續上一文章中的微軟給的入門項目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)