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

posted @ 2013-12-18 15:49  ibg  阅读(524)  评论(0编辑  收藏  举报