zoukankan      html  css  js  c++  java
  • 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相同

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

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

  • 相关阅读:
    #最小生成树,Trie#CF888G Xor-MST
    #Tarjan#洛谷 5676 [GZOI2017]小z玩游戏
    #区间dp#CF1114D Flood Fill
    #构造,二分#[AGC006B] [AGC006D] Median Pyramid
    #0/1分数规划#AT1807 食塩水
    #笛卡尔树#洛谷 3793 由乃救爷爷
    #同余最短路#洛谷 2371 [国家集训队]墨墨的等式
    awk命令使用
    k8s快速删除所有退出的pod
    ratticdb密码管理工具安装使用
  • 原文地址:https://www.cnblogs.com/20m13v08c15/p/3412731.html
Copyright © 2011-2022 走看看