MVC程序中实体框架的Code First迁移和部署
2015-11-23 15:36
393 查看
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方法来填充数据库。
同样的过程会在将程序部署到生产环境下发生。
相关文章推荐
- Android学习----Android架构
- android 获取屏幕的宽和高
- js数组删除元素
- MAXScript 类层次
- 二维码的生成细节和原理
- iOS第三方开源库的吐槽和备忘
- error LNK2019:无法解析的外部符号.lib是用vc6编的,其中用到了消息响应,vc6的消息响应函数和vc2005的消息响应函数的参数和返回值类型不同造成的链接问题.
- Sql Server 2008 R2数据库之登录名、用户、架构、权限和角色
- Spring中Bean的五个作用域
- tabControl 控件使用心得
- 常用api平台
- 为什么主引导记录的内存地址是0x7C00?
- 单例模式
- Objective-C Runtime
- awk 初学02
- 华为oj inoc产品部--完全数计算
- 在CentOS 6.3/6.6 64bit上源码安装cmake 3.4.0
- CSS美化上传按钮并获取上传文件路径
- Db2 sql summarize
- UDP包的最大大小是多少?