第一次做个mvc项目玩玩,然后需要数据迁移,也没做过,就百度找怎么数据迁移,

找到的方法是:

如果数据是在类库项目里就在‘程序包管理控制台’输入:enable-migrations -ContextTypeName EFDbContext 。(EFDbContext是类名)别忘把默认项目选择类库项目。

如果只有一个单独的mvc项目就直接输入:Enable-migrations   。(应该是这样的我也没试)

找到方法后但报错了,所以遇到这个问题果断百度一下,不知道是不是我搜索方法不对,,只有搜到国外网站的。

解决方法:

http://edd.stefancamilleri.com/2016/02/14/update-database-fails-in-package-manager-console-on-windows-10-insider-preview-with-ambiguous-type-error/

这是一个国外大神写的临时解决办法。

下面我在解释一下。。

第一步:Microsoft.VisualStudio.Shell.Package

报错内容:

Type name ' Microsoft.VisualStudio.Shell.Package ' is ambiguous, it could be ' Microsoft.VisualStudio.Shell.Package , Microsoft.VisualStudio.Shell.14.0 , Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or ' Microsoft.VisualStudio.Shell.Package ,
Microsoft.VisualStudio.Shell.10.0 , Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

To fix this, do the following:

  1. 打开这个文件:(报错时写的有路径)

    • C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\ZPM4HZQB.YOS\Modules\NuGet\ Profile.ps1
  2. 找到 126行 (Ctrl+G 转到)
  3. 改前:
    • $service = [ Microsoft.VisualStudio.Shell.Package ]::GetGlobalService($ServiceType)
  4. 用下面的替换掉原来的:
    • $accel = [psobject].Assembly.GetType("System.Management.Automation.TypeAccelerators")
      $accel::add(“specificShell”,” Microsoft.VisualStudio.Shell.Package , Microsoft.VisualStudio.Shell.14.0 , Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”)
       $service = [specificShell]::GetGlobalService($ServiceType)
  5. 重启下vs.

    第二部:NuGet.VisualStudio.IVsPackageInstallerServices

    报错内容:

    Type name 'NuGet.VisualStudio.IVsPackageInstallerServices' is ambiguous, it could be 'NuGet.VisualStudio.IVsPackageInstallerServices, JetBrains.Platform.VisualStudio.SinceVs11, Version=104.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325' or
    'NuGet.VisualStudio. IVsPackageInstallerServices, JetBrains.PsiFeatures.VisualStudio.SinceVs11, Version=104.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325'.

    To fix this, do the following:

    1. 打开你项目里的这个文件:

      • {NuGetPackagesFolder}\EntityFramework.6.1.3\tools\ EntityFramework.psm1
    2. 找到1004行
    3. 改前:
      • $packageInstallerServices = $componentModel.GetService([NuGet.VisualStudio.IVsPackageInstallerServices])
    4. 用下面三行替换掉改前的内容:
      • $accel = [psobject].Assembly.GetType("System.Management.Automation.TypeAccelerators")
         $accel::add(“NuGetInstallerServices”,”NuGet.VisualStudio.IVsPackageInstallerServices, JetBrains.Platform.VisualStudio.SinceVs11, Version=104.0.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325”)
         $packageInstallerServices = $componentModel.GetService([NuGetInstallerServices])
      • 重启vs
      • 注意(上面第二行里的第二个参数可能与你的不同要替换为你报错时错误里所指的类型,就是上方报错的蓝字要与下面第二行的蓝字一样)。。我TM的就是直接用这里的没替换一直报错无法转换类型,搞了半天才反应过来。。。

 2016.03.23更新

    EF添加新表插入数据库的方法:

    1、比如要添加一个Product模型类,然后添加到数据库

    2、PM> Add-Migration AddProduct

       (在程序包管理控制台输入后会在Migrations里添加一个新的更新类以日期开头的,然后你需要改下里面的代码,

        因为里面生成的代码不止创建Product类,还会把之前已经存在的类创建出来,所以要把那些创建其它类的语句给删除,不然到下一步会提示已存在某个类,无法更新)

    3、PM> Update-Database -Verbose

      (在程序包管理控制台输入更新成功,到数据库查看会发现成功添加一个Product表)

vs2015 mvc项目数据迁移报错的更多相关文章

  1. ABP框架数据迁移报错

    问题描述:将项目从TFS载下来  然后敲update-database 进行数据迁移 提示:Update-Database : 无法将“Update-Database”项识别为 cmdlet.函数.脚 ...

  2. .net core mvc项目部署nginx报错一直显示404错误

    遇到一个奇怪的问题,.net core mvc 项目部署到nginx上面,系统是linux,controller明明抛出500错误,但页面一直显示是404. 解决如下: 1.修改Startup.cs, ...

  3. Mvc项目部署IIS报错:没有为请求的URL配置默认文档,并且没有在服务器设置目录浏览

    问题原因: 1.iis是在安装完.net framework 之后才安装的,需要进行iis注册,开始--运行--cmd,打开命令行提示符,输入命令如下 C:\Windows\Microsoft.NET ...

  4. php artisan migrate数据迁移报错

    laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持.如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情. 当你试着在一些MariaDB或者一些 ...

  5. ASP.NET MVC 复制MVC项目代码到同一个项目的时候报错The request for ‘home’ has found the following matching controll

    ASP.NET MVC 复制MVC项目代码到同一个项目的时候报错The request for ‘home’ has found the following matching controll “/” ...

  6. flask+sqlite3+echarts2+ajax数据可视化报错:UnicodeDecodeError: 'utf8' codec can't decode byte解决方法

    flask+sqlite3+echarts2+ajax数据可视化报错: UnicodeDecodeError: 'utf8' codec can't decode byte 解决方法: 将 py文件和 ...

  7. maven 项目启动tomcat报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    maven项目启动tomcat报错: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...

  8. iOS-C文件添加到iOS项目中,运行报错

    iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...

  9. maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

    主要原因是maven项目里面的jar包吗,没有导入到项目中 maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframewor ...

随机推荐

  1. 关于mvvm:UI、数据、绑定、状态、中间变量、数据适配、数据处理

    绑定: UI控件 --> VM    VM -> UI控件 关于mvvm:UI.数据.绑定.状态.中间变量.数据适配.数据处理: https://github.com/zzf073/Log ...

  2. UVa 12169 - Disgruntled Judge(拓展欧几里德)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  3. PHP中的 array_filter 函数

    <?php function test_odd($var) { return($var & 1); } $a1=array("a","b",2,3 ...

  4. Linux学习总结(八)-磁盘格式化,挂载,swap扩容

    上次我们学习了磁盘分区,磁盘分区完后还不能直接使用,需要对分区进行格式化,载入某个类型的文件系统,然后挂载到相应目录下才可使用. 一 磁盘格式化 格式化命令: mke2fs -t [ext2 ext3 ...

  5. python-正则基础

    正则表达式,说的简单些,就是一个匹配的功能,在python中,只要引用 re 模块,就能进行正则匹配操作 一.math匹配 先来看一个简单的例子 import re re.match(pattern, ...

  6. java.sql.date和java.util.date的区别和转换

    不同点:java.util.Date是在除了SQL语句的情况下面使用的.java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分java.util.Date 是 java.sql. ...

  7. 【微信开发】微信开发模式 api 接口文档简介

    微信公众平台分为订阅号和服务号,服务号提供9大接口,需要通过微信认证后才能使用这些接口.认证费用300元.下面是接口的大致介绍: 1. 语音识别:通过语音识别接口,用户发送的语音,将会同时给出语音识别 ...

  8. 四种常见的 POST 提交数据方式对应的content-type

    原文地址:https://www.cnblogs.com/wushifeng/p/6707248.html application/x-www-form-urlencoded 这应该是最常见的 POS ...

  9. C++读取字符串数据的两种方式

    C++读取字符串数据的两种方式 对于同样的样例输入: ladder came tape soon leader acme RIDE lone Dreis peat ScAlE orb eye Ride ...

  10. 百度地图定位JSP代码

    附:百度地图API:http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a1b0?qq-pf-to=pcqq.c2c &l ...