第一次做个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. miniui dataGrid detail grid

    <div >      <div id="vkhGrjx_grid" class="mini-datagrid" style="wi ...

  2. @SuppressWarnings注解用法详解

    @SuppressWarnings注解用法详解 今天来谈谈@SuppressWarnings注解的作用. J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条 ...

  3. Spring(二十)之使用Log4j记录日志

    日志记录,也是常用的,比如异常信息记录或者其他相关信息记录,良好的日志记录有助于当系统出现某些不是特别大的问题时,可及时通过日志信息,捕捉到异常,从而确定是那段代码的问题,避免影响其他的代码. 关于m ...

  4. MacBook常用快捷键

    MacBook常用快捷键: 1. 窗口操作: cmd+n 新建一个窗口/文件. cmd+m 窗口最小化. cmd+w 关闭当前窗口/文件. 2. 程序操作: cmd+q 退出当前程序,后台不运行该程序 ...

  5. Android 进价5_自定义广播 通过广播更新ListView的适配器 下载管理

    1.在处理下载管理时,服务在后台运行,下载完成后要更新listview列表的按钮,将“下载”改成“打开”这样一个功能. 在Activity里面写一个静态内部类,继承广播.其中属性text_button ...

  6. 【题解】洛谷P2296 [NOIP2014TG] 寻找道路(SPFA+DFS)

    题目来源:洛谷P2296 思路 一开始看还以为是一道水题 虽然本来就挺水的 本道题的难点在于如何判断是否路径上的点都会直接或者间接连着终点 我们需要在一开始多建一个反向图 然后从终点DFS回去 把路径 ...

  7. Faster Alternatives to glReadPixels and glTexImage2D in OpenGL ES

    In the development of Shou, I’ve been using GLSL with NEON to manipulate image rotation, scaling and ...

  8. mybatis异常:Invalid bound statement (not found): com.mybatis01.dao.UserDao.select_Map;Could not find result map com.mybatis01.dao.UserDao.User

    错误原因:查询结果类型错误 查询结果应该是User实体类 在光标指的地方应该为ResultType,而不是ResultMap.

  9. HP-UNIX平台修改Oracle processes参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302

    OS 版本     :HP-UX B.11.31Oracle版本:11.2.0.4 (RAC) (一)问题描述 最近发现无法连接上数据库,报错信息为“ORA-00020:maximum number ...

  10. Oracle分区表删除分区引发错误ORA-01502: 索引或这类索引的分区处于不可用状态

    (一)问题: 最近在做Oracle数据清理,在对分区表进行数据清理时,采用的方法是drop partition,删除的过程中,没有遇到任何问题,大概过了10分钟,开发人员反馈部分分区表上的业务失败.具 ...