• VS2010、.net 4.0下MVC3开发中Code First开发模式的数据迁移小结


    本人最近在开发一个网站。用的开发框架是MVC3,因为之前也只用过一次,所以这次从零开始的这个网站还是费了我一点时间。抱着学习的心态一步一步走来,却发现了很多值得我为之留下一点足迹的冲动。

    先说说我的IDE:VS2010,Framework版本是.NET4.0,框架是MVC3,在前一次用MVC3开发的时候,借助于EF4.1,感觉还好,在database first的开发方式下开发很方便,建好数据库导入模型就基本可以写逻辑和页面了,感觉实在是太方便了。但是有一个缺点,就是每次要加减字段,加减数据表的时候麻烦的很,要不推倒以前的重新来,要不就要手动修改,一个字:累。那时候就想,微软不会这样2吧,开发的东西让我们这样折腾,那还不折腾死。但是自己明白,微软哪有那么2,肯定有解决的办法,所以就翻看园友的博客和看书,发现还有个叫什么code first的,据说更方便,而且还能搞定我出现的问题,就是所谓的数据迁移,而且数据不丢失,想什么时候加字段就加,想什么时候加表同样不含糊,哇,想想该有多方便啊,所以在设计开发这个网站一开始我就打定了主意——用Code First来整一个。

    首先,在用这个开发模式之前要了解一下实现数据迁移的EF版本,4.1-4.3基本是不行的,后来我直接在Nuget中把EF升级到了6,一下子什么都支持了,因为到我写这个文章为止,6是最高版本了,哈哈。好了,废话说了一大箩筐,上正题了:

    在code First模式下开发做的数据迁移最最主要的是用好Code First的命令行以及处理的先后顺序:

    字段有如下这些:

    1.Enable-Migrations -Force      (-Force)这个是覆盖前面的这个操作

    2.Add-Migration

    3.Add

    4.update-database -verbose

    5.createtable

    6.remove

    7.altertable

    还有很多,不止这些……

    看着这么多命令真不知道如何下手!很简单,下面看一个新增表的例子:

    第一步:>PM Enable-Migrations -Force

    第二步:>PM Add-Migration

    第三步:>PM createtableT_XXX

    第四步:>PM update-database -verbose

    好了,新增一个数据表就算是完成了。

    2.新增表字段

    第一步:>PM

    3.update-database -verbose,好了提交到了数据库中了

    还有减字段:

    1相同,2前部分相同,但是输入命令的时候要输入:removeUrl,回车,3相同

    加表:

    1相同,2前部分相同,但是输入命令的时候要输入:createtableT_XXX这样。T_XXX是表名,3相同

    修改表字段验证规则:

    1相同,2前部分相同,但是输入命令的时候要输入:altertable,回车,好了,3相同

    好了,就学了这些个,感觉很方便,又不丢失数据。太妙了……

    俗话说的好:麻雀虽小,五脏俱全。从这个网站开始零起步到现在,大概的功能基本实现了,但是自我感觉还有很多欠缺的东西要自己去完善。

  • 相关阅读:
    django中间件和常用模块
    django之forms组件
    django和ajax、分页器、批量插入数据
    django之模型层ORM操作
    (专题三)02-1 程序和程序设计流程-选择结构
    (专题三)01 程序和程序设计流程-顺序结构
    (专题二)05 矩阵的存储方式
    (专题二)04 矩阵的处理-矩阵的特征值
    [代码片段]YEAH!连通域标记和计数
    TTL和CMOS
  • 原文地址:https://www.cnblogs.com/20m13v08c15/p/3412731.html
Copyright © 2020-2023  润新知