数据库在MVC项目中的迁移
1.使用实体框架EF的代码优先模式进行ASP.NET MVC 简单项目开发
代码优先模式(code first):数据库原来不存在,在MVC项目中先创建这样一个类,然后通过数据上下文类,实施对数据库的一个创建。
Models文件夹中的movie类
namespace EFCodeFirstMovies.Models
{
public class Movie{
public int ID { get; set ; }
public string Title{ get; set; )
public DatcTimc ReleaseDate { get; set; }
public string Genre { get; set ; }
public decimal Price { get ; set; }
}
}
在Web.config中添加链接数据库的字段,采用的是Windows的验证方式
<connectionStrings>
<add name="MoviesEntities"connectionString="Data Source=. ;Initial Catalog=MoviesMIS; Integrated Security=True" providerName="System.Data.SqlClient"/>
</ connectionStrings>
Initial Catalog对应的是数据中数据库名称,运行整个项目之后会在SQL Server中自动生成一个同名的数据库,里面会包含创建的类的同名的数据表Movie
prodiveName用来实施链接数据库进行数据库的一些操作
为了进行数据库的一些操作还要添加一个数据上下文类
创建一个名为MovieEntities的类
输入DbContext,弹出智能提示,发现没有这个命名空间
打开引用,添加一个与DbContext相关的引用EntityFrameWork
然后回到原来页面双击引用命名空间
还需要在MovieEntities添加一个构造函数,可以获取到数据表里的数据
public MovieEntities( : base(" name=MoviesEntities"){
}构造函数中不需要添加任何内容,这里需要注意name后面的是Movies即复数形式
public DbSet<Movie> Movies { get; set ; }
用于获取数据表中的数据
由于引入了新的命名空间,所以需要重新生成一下项目,确定生成成功后开始下列操作
接下来可以添加一个正常的与Movie相关的控制器
选择包含视图的控制器,系统将会自动创建增删改查的相关操作的方法和视图文件
运行一个视图文件后,发现没有数据显示,转到SQL Seriver刷新可以看到在MVC中命名的数据库已经生成
转到创建页面进行添加数据
点击添加后返回到主页面
查看数据库中的数据表,数据也添加了进来