zoukankan      html  css  js  c++  java
  • MVC程序中实体框架的Code First迁移和部署

    01. 启用迁移

    【在控制台中,输入以下命令:】
    enable-migrations  //命令将在项目中创建一个迁移文件夹。同时文件夹中包含一个Configuration.cs文件,你可以编辑该文件来配置迁移。

    【Seed方法有两种途径可以去实现】
    1、在启用迁移生成的Configuration.cs文件中Configuration类包含Seed方法
    2、也可以单独定义Seed方法,放置在DAL文件夹中并在web.config完成配置

    02. 执行第一次迁移

    【在控制台中,输入以下命令:】
    add-migration InitialCreate

    当您执行add-migration命令时,迁移将生成代码用来创建数据库。该代码同样在Migrations文件夹中,在文件名为<时间戳>_InitalCreate.cs的文件中(该文件看上去像这样201510030852597_InitialCreate.cs)。该类中的Up方法将按照数据模型实体集来创建数据库表格,Down方法用来删除它们。

    迁移调用Up方法来实现数据模型所做的更改。当你输入一个命令回滚更新,迁移将调用Down方法。

    这是您输入add-migration InitialCreate命令时创建的初始迁移。参数(在该示例中是InitialCreate)用于文件的名称,当然也可以是任意你想要的其他名称。 通常你会选择一个单词或短语来总结迁移中所做的改变。例如您可以能会命名之后的迁移为"AddDeparmentTable"。

    如果你创建了一个在数据库已经存在的情况下的迁移,则生成的的数据库创建代码不会运行。因为数据库已经和数据模型匹配。将应用程序部署到另一个尚未创建数 据库的环境时,代码才会运行以创建数据库。所以最好是提前测试一下。这就是为什么之前你更改了连接字符串中数据库的名称,以便迁移可以从零开始创建一个新 的数据库。

    【在控制台中,输入以下命令:】
    update-database

    我们使用update-database命令运行Up方法来创建数据库,然后运行Seed方法来填充数据库。
    同样的过程会在将程序部署到生产环境下发生。

      

  • 相关阅读:
    iOS-实现键盘右上角完成按钮
    iOS-开发中单例模式的实现
    iOS-实现高斯模糊效果(swift)
    iOS-解决UITableView有footerView时最后一个cell不显示分割线问题
    fenics 笔记 -- Possion Problem
    笔记
    Hyper-reduced projective dynamics 手推公式
    Gmsh 四面体单元剖分
    SoftRoboSim 之程序框架
    物理引擎中的时间积分方法及求解
  • 原文地址:https://www.cnblogs.com/duanyong/p/4988629.html
Copyright © 2011-2022 走看看