目錄=============================================
系列文章==========================================
Asp.net MVC]Asp.net MVC5系列——第一個項目
Asp.net MVC]Asp.net MVC5系列——添加視圖
概述============================================
在本節中我們將追加一些類來管理數據庫中的學生信息。這些類將成為我們的MVC應用程序中的“模型”部分。
在vs2013中EF的版本為(Entity Framework)EF6,我們將使用EF6來進行對學生信息的維護,順便也學習一下EF6的增刪改查。
添加模型==========================================
在解決方案資源管理器中,鼠標右擊Models文件夾,點擊“添加”菜單下的“新建項”,如圖所示。
我這有個學生信息的測試數據庫,所以選擇了從數據庫生成,為了以后方便使用,也懶得去新建數據庫了。
選擇新建連接
選擇“是,在連接字符串中包括敏感數據”,如果選擇上面的則連接字符串中密碼是以一串“*”替換的,你還得修改,所以怎么簡單怎么來了。
選擇ef版本,這里選擇ef6
選擇數據庫對象,這里可能要用到student,score,course表,所以將選擇三張數據表。
選擇數據表后,單擊完成,后會彈出一個安全警告的對話框,直接確定忽視它。
之后會彈出三張表的關系圖
到目前為止我們創建了三個模型類Student,Score,Course類
具體代碼如下:
1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // 此代碼已從模板生成。 4 // 5 // 手動更改此文件可能導致應用程序出現意外的行為。 6 // 如果重新生成代碼,將覆蓋對此文件的手動更改。 7 // </auto-generated> 8 //------------------------------------------------------------------------------ 9 10 namespace Wolfy.FirstMVCProject.Models 11 { 12 using System; 13 using System.Collections.Generic; 14 15 public partial class Student 16 { 17 public Student() 18 { 19 this.Score = new HashSet<Score>(); 20 } 21 22 public int stuId { get; set; } 23 public string stuName { get; set; } 24 public string stuSex { get; set; } 25 public System.DateTime stuBirthdate { get; set; } 26 public System.DateTime stuStudydate { get; set; } 27 public string stuAddress { get; set; } 28 public string stuEmail { get; set; } 29 public string stuPhone { get; set; } 30 public Nullable<bool> stuIsDel { get; set; } 31 public Nullable<System.DateTime> stuInputtime { get; set; } 32 public int classId { get; set; } 33 34 public virtual Course Course { get; set; } 35 public virtual ICollection<Score> Score { get; set; } 36 } 37 }
復制代碼 1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // 此代碼已從模板生成。 4 // 5 // 手動更改此文件可能導致應用程序出現意外的行為。 6 // 如果重新生成代碼,將覆蓋對此文件的手動更改。 7 // </auto-generated> 8 //------------------------------------------------------------------------------ 9 10 namespace Wolfy.FirstMVCProject.Models 11 { 12 using System; 13 using System.Collections.Generic; 14 15 public partial class Course 16 { 17 public Course() 18 { 19 this.Score = new HashSet<Score>(); 20 this.Student = new HashSet<Student>(); 21 } 22 23 public int classId { get; set; } 24 public string className { get; set; } 25 public string classDescription { get; set; } 26 27 public virtual ICollection<Score> Score { get; set; } 28 public virtual ICollection<Student> Student { get; set; } 29 } 30 }
1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // 此代碼已從模板生成。 4 // 5 // 手動更改此文件可能導致應用程序出現意外的行為。 6 // 如果重新生成代碼,將覆蓋對此文件的手動更改。 7 // </auto-generated> 8 //------------------------------------------------------------------------------ 9 10 namespace Wolfy.FirstMVCProject.Models 11 { 12 using System; 13 using System.Collections.Generic; 14 15 public partial class Score 16 { 17 public int testId { get; set; } 18 public int stuId { get; set; } 19 public int classId { get; set; } 20 public int testBase { get; set; } 21 public int testBeyond { get; set; } 22 public int testPro { get; set; } 23 public string testName { get; set; } 24 public System.DateTime testDate { get; set; } 25 26 public virtual Course Course { get; set; } 27 public virtual Student Student { get; set; } 28 } 29 }
在下篇文章中,我們將要創建一個新的SchoolController類,用來顯示數據庫中的數據,並且允許用戶創建學生列表,可以添加學生信息。
總結=========================================
在網上看了很多類似的文章都是使用code-first的方式,如果再寫一個code-first類似的文章,老花樣去玩,沒意思,玩玩新的東西還是有必要的。所以既然vs2013中出現了新的玩法,何不嘗試一下?
本文關於添加模型的內容較少,大量篇幅說了ef,因為添加模型不知道該說什么?添加一個類,該如何說啊?發愁!
如果你的眼睛比較鋒利,也許會發現,從添加ado.net實體模型生成的文件有*.tt的文件,你懂得!這東西也可以研究研究。
參考文章:
http://www.asp.net/mvc/tutorials/mvc-5/introduction/adding-a-model
- 博客地址:http://www.cnblogs.com/wolf-sun/
博客版權:如果文中有不妥或者錯誤的地方還望高手的你指出,以免誤人子弟。如果覺得本文對你有所幫助不如【推薦】一下!如果你有更好的建議,不如留言一起討論,共同進步! 再次感謝您耐心的讀完本篇文章。