• ASP.NET MVC 4下 Code First 数据库迁移


     一.命令开启

    1.打开控制台:视图->其他窗口->程序包管理器控制台;

    2.启动数据库迁移,执行命令:enable-migrations

      创建成功后会新增migrations目录等。

      若报如下错误:

          PM> Enable-Migrations
        More than one context type was found in the assembly 'FirstMVC'.
        To enable migrations for FirstMVC.Models.UsersContext, use Enable-Migrations -ContextTypeName FirstMVC.Models.UsersContext.
        To enable migrations for FirstMVC.Models.FirstMVCContext, use Enable-Migrations -ContextTypeName FirstMVC.Models.FirstMVCContext.

      则要指定具体一个数据上下文类。

      本人只有一个数据库,可以不用输入。

    3.运行数据库迁移

      启动数据库迁移设置成功后,对Model 结构的修改,需要手动创建数据库迁移。

      **以后每次对Model接口的修改操作,都执行如下2个命令即可。**

      命令如下:

      (1).Add-migration [自定义版本名称]

      (2).update-database

    PM> add-migration updateorderheader

    正在为迁移“updateorderheader”搭建基架。
    此迁移文件的设计器代码包含当前 Code First 模型的快照。在下一次搭建迁移基架时,将使用此快照计算对模型的更改。如果对要包含在此迁移中的模型进行其他更改,则您可通过再次运行“Add-Migration 201407020938316_updateorderheader”重新搭建基架。
    PM> update-database
    指定“-Verbose”标记以查看应用于目标数据库的 SQL 语句。
    正在应用基于代码的迁移: [201407020938316_updateorderheader]。
    正在应用基于代码的迁移: 201407020938316_updateorderheader。
    正在运行 Seed 方法。
    PM>

    4.修改代码配置

    以上步骤执行完成后,

    (1).在生成的目录文件中  Migrations/Configuration.cs 

      将 AutomaticMigrationsEnabled = false; 修改为  AutomaticMigrationsEnabled = true; 

    (2).在项目Global.asax的Application_Start中加上如下代码行:

      System.Data.Entity.Database.SetInitializer(new System.Data.Entity.MigrateDatabaseToLatestVersion<FirstMVC.Models.FirstMVCContext,Migrations.Configuration>());

    注释:FirstMVC.Models.FirstMVCContext 为创建的数据上下文类。

    Migrations.Configuration 为成功执行Enable-Migrations命令后生成的文件类。

    OK了,以后每次修改Model后只需要执行以上第3步的2个命令即可。

  • 相关阅读:
    poj3905 2sat!
    poj3648,2-sat求解
    poj2723 2sat判断解+二分
    hdu3622 2-sat问题,二分+判断有无解即可。
    poj2767,单向连通图判定,缩点+重新建图+新图DFS
    poj2186 求有向图G中所有点都能到达的点的数量
    poj2553 有向图缩点,强连通分量。
    poj 1236+hdu2767 有向图 缩点+看度数(tarjan)
    poj3694+hdu2460 求桥+缩点+LCA/tarjan
    dfs + 最小公倍数 Codeforces Round #383 (Div. 2)
  • 原文地址:https://www.cnblogs.com/shouwu/p/3820828.html
Copyright © 2020-2023  润新知