保哥说要想避免数据库被自动创建或自动迁移,可以在Global.asax文件里的Application_Start方法中加入:

System.Data.Entity.Database.SetInitializer<Models.MyContext>(null);

注:MyContext是数据上下文类。

即Global.asax文件如下:

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);

            System.Data.Entity.Database.SetInitializer<Models.MyContext>(null);
        }
    }

 

测试了下,改变model里的实体类属性后确实没有提示数据库迁移了,但是如果在实体类中新增一个属性,然后运行程序,却会提示刚加入的属性无效。如在实体类中加入:

public string MyProperty{ get; set; }

 运行后提示:Invalid column name 'MyProperty'.

 ASP.NET MVC 4 如何避免数据库被自动创建或自动迁移

 这样来看数据库表和实体类已经是单独的个体了,他们之间不会再互动,要分别去数据库和实体类2个地方更改。

--End--

相关文章:

  • 2021-12-04
  • 2021-05-31
  • 2022-12-23
  • 2021-12-06
  • 2022-01-14
  • 2022-12-23
  • 2021-12-24
  • 2021-09-03
猜你喜欢
  • 2022-12-23
  • 2021-05-30
  • 2021-10-26
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案