·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> ASP.NET MVC5利用EF,反向自动生成数据库

ASP.NET MVC5利用EF,反向自动生成数据库

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

asp.net MVC5利用EF,反向自动生成数据库

1.在Model类里面,写好相应的属性。

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Data.Entity; 6  7 namespace MvcMovie.Models 8 { 9     public class Movie10     {11         public int ID { get; set; }12         public string Title { get; set; }13         public DateTime ReleaseDate { get; set; }14         public string Genre { get; set; }15         public decimal PRice { get; set; }16     }17 18     public class MovieDBContext : DbContext19     {20         public DbSet<Movie> Movies { get; set; }21     }22 }
Movie

2.在配置文件中,写上:

1  <add name="MovieDBContext"2    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"3    providerName="System.Data.SqlClient"/>
配置文件,连接字符串

3.添加一个控制器,选择刚才我们创建的Model作为模型(即创建强类型视图)

4.这个时候,重新生成一下项目,就会在App_Data里面生成了一个数据库(Movie.mdf).

Entity Framework Code First detected that the database connection string thatwas provided pointed to aMoviesdatabase that didn’t exist yet, soCode First created the database automatically. 这句话的意思是:EF 代码先行检测到,数据库的连接字符串,指向了一个Movie的数据库,但是这个数据库并不存在,所以code first自动为我们创建了这个数据库。

5.You don't actually need to add theMovieDBContextconnection string. If you don't specify aconnection string, Entity Framework will create a LocalDB database in the usersdirectory with the fully qualified name of theDbContextclass (in this caseMvcMovie.Models.MovieDBContext). You can name the database anything you like, as long as it has the.MDF suffix. For example, we could name the databaseMyFilms.mdf.

这句话的大概意思是:你实际上不必添加我上面的字符串到webconifg文件中,因为EF会为我们按照用户项目的物理路径,创建一个全路径的名称的数据库。如果你添加了连接字符串,EF就会按照你写的,为你创建这个数据库。

6.EF为我们创建的数据库为:

可以看出,EF为我们创建的数据库,string字段,默认是为空的。ID字段默认是主键。