博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC 4 让数据库自动迁移
阅读量:6153 次
发布时间:2019-06-21

本文共 2359 字,大约阅读时间需要 7 分钟。

今天实际测试了下这个方法,可以保持数据库与实体类同步,同时不会出现数据库迁移的提示。但是只能更改实体类来改变数据库,而不能改数据库来改变实体类。所以这才是Code frist,如果通过改数据库表来改动实体类,那就是Database first了。

第一步:添加数据库迁移配置类

在Global.asax文件里面添加一个类,这个类继承自数据库迁移配置类:

 public class MyConfiguration : System.Data.Entity.Migrations.DbMigrationsConfiguration
{ public MyConfiguration() { this.AutomaticMigrationsEnabled = true; } }

自动迁移设置为 true。

第二步:在Application_Start()方法中使用数据库初始化器

Database.SetInitializer(new MigrateDatabaseToLatestVersion
());

 

经过这2步设置,当实体类发生变动时就不会再有这个恼人的迁移提示了:

 

原始的Global.asax内容如下:

using System.Web.Http;using System.Web.Mvc;using System.Web.Optimization;using System.Web.Routing;namespace MvcApplication15{    // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,    // 请访问 http://go.microsoft.com/?LinkId=9394801    public class MvcApplication : System.Web.HttpApplication    {        protected void Application_Start()        {            AreaRegistration.RegisterAllAreas();            WebApiConfig.Register(GlobalConfiguration.Configuration);            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);            RouteConfig.RegisterRoutes(RouteTable.Routes);            BundleConfig.RegisterBundles(BundleTable.Bundles);        }       }}

 

最后更改后的Global.asax文件如下:

using System.Web.Http;using System.Web.Mvc;using System.Web.Optimization;using System.Web.Routing;using System.Data.Entity;using MvcApplication15.Models;namespace MvcApplication15{    // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,    // 请访问 http://go.microsoft.com/?LinkId=9394801    public class MvcApplication : System.Web.HttpApplication    {        protected void Application_Start()        {            AreaRegistration.RegisterAllAreas();            WebApiConfig.Register(GlobalConfiguration.Configuration);            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);            RouteConfig.RegisterRoutes(RouteTable.Routes);            BundleConfig.RegisterBundles(BundleTable.Bundles);            //使用数据库初始化器自动迁移            Database.SetInitializer(new MigrateDatabaseToLatestVersion
()); } } public class MyConfiguration : System.Data.Entity.Migrations.DbMigrationsConfiguration
{ public MyConfiguration() { this.AutomaticMigrationsEnabled = true;//自动迁移 } }}

--End--

转载于:https://www.cnblogs.com/ibgo/p/3532605.html

你可能感兴趣的文章
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
JQuery radio单选框应用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>
使用Formik轻松开发更高质量的React表单(三)<Formik />解析
查看>>
也问腾讯:你把用户放在什么位置?
查看>>