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

保哥说要想避免数据库被自动创建或自动迁移,可以在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'.

 

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

--End--

你可能感兴趣的:(asp.net)