此處采用VS2017+SqlServer數據庫
一、創建項目並引用dll:
1.創建一個MVC項目
2.采用Nuget安裝EF6.1.3
二、創建Model
在models文件夾中,建立相應的model文件,這里建立的class名,就是數據庫里表的名字。
在這里面,可以建立表之間的關系,本次將建立Course(課程)、Student(學生)、StuCourse(課程學生關系)來作為一個Demo
[Table("t_course")] //可以通過Attribute的形式修改自動生成的表名,否則將生成courses復數形式的表
public class Course
{
public int ID { get; set; }
[Required]
public string course_Name { get; set; }
public string course_code { get; set; }
public virtual ICollection<StuCourse> StuCousers { get; set; }
}
public class Student
{
public int ID { get; set; }
[Required]
[MaxLength(10)]
public string stu_Name { get; set; }
public string stu_Pwd { get; set; }
public string stu_sex { get; set; }
public int stu_age { get; set; }
public virtual ICollection<StuCourse> StuCousers { get; set; }
}
public class StuCourse
{
public int ID { get; set; }
public int StudentID { get; set; }
public int CourseID { get; set; }
public virtual Student Student { get; set; }
public virtual Course Course { get; set; }
}
三、新建一個Dal文件夾,用來建立Database Context
public class EFDBContext:DbContext
{
public EFDBContext() : base("EFDBContext") //數據庫鏈接的Web.config中結點名字
{
}
public virtual DbSet<Student> Students { get; set; }
public virtual DbSet<Course> Courses { get; set; }
public virtual DbSet<StuCourse> StuCouse { get; set; }
}
四、配置數據庫連接信息
在WebConfig文件中增加connectionStrings節點,填寫數據庫連接信息,此處是我本機所裝的sql server,提前建好的Database:CodeFirst
注意此節點的位置,不能放在第一,否則會報錯。
五、生成數據庫遷移文件,並更新DB
1.工具 -> 庫程序包管理器 -> 程序包管理器控制台
2.運行命令 Enable-Migrations,
這時候,你會發現在程序端多出一個文件夾叫Migrations,這里面有一個Configuration.cs文件
3.運行命令Add-Migration,此命令會在Migrations文件下新增一個數據庫遷移文件,文件內容為創建或修改數據庫的表的代碼
4.運行命令Update-Database 或Update-Database -Force,執行最新數據庫遷移文件,更新DB中的表信息
在創建好表之后要修改表很簡單,直接修改Model,然后執行Add-Migration,會自動產生一個數據庫遷移文件,在執行Update-Database就會更新數據庫中的表了;
還有一種方式可以開啟自動遷移,修改Migrations文件夾下Configuration,將AutomaticMigrationsEnabled的值修改為true即可,這樣一來再修改Model后就可以直
接執行Update-Database命令來更新DB了
六、創建Control並實現增刪改查功能(EntityFramework的腳手架會自動根據Model幫我們生成增刪改查功能及View,而且還自帶Bootstrap樣式)
1.添加Control並選擇包含視圖的MVC5控制器
2.下拉框選擇創建模型類和數據庫上下文類
點擊添加出現如下彈出框就開始自動生成增刪改查頁面及相應功能
可以看到Controller和Views文件夾幫我們生成了如下文件:
3.更改RouteConfig文件,設定Students的Index為默認啟動項
4.運行程序結果如下,此時增刪改功能已經可以正常使用