热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vs2015mvc项目数据迁移报错

第一次做个mvc项目玩玩,然后需要数据迁移,也没做过,就百度找怎么数据迁移,找到的方法是:如果数据是在类库项目里就在程序包管理控制台输入:enable-migra

第一次做个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:

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

C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\ZPM4HZQB.YOS\Modules\NuGet\ Profile.ps1

找到 126行 (Ctrl+G 转到)

$service = [ Microsoft.VisualStudio.Shell.Package ]::GetGlobalService($ServiceType)

用下面的替换掉原来的:

$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)

重启下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:

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

{NuGetPackagesFolder}\EntityFramework.6.1.3\tools\ EntityFramework.psm1

找到1004行

$packageInstallerServices = $componentModel.GetService([NuGet.VisualStudio.IVsPackageInstallerServices])

用下面三行替换掉改前的内容:

$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])

注意(上面第二行里的第二个参数可能与你的不同要替换为你报错时错误里所指的类型,就是上方报错的蓝字要与下面第二行的蓝字一样)。。我TM的就是直接用这里的没替换一直报错无法转换类型,搞了半天才反应过来。。。

 2016.03.23更新

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

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

2、PM Add-Migration AddProduct

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

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

3、PM Update-Database -Verbose

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


推荐阅读
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • iOS 设备唯一标识获取的高效解决方案与实践
    在iOS 7中,苹果公司再次禁止了对MAC地址的访问,使得开发者无法直接获取设备的物理地址。为了在开发过程中实现设备的唯一标识,苹果推荐使用Keychain服务来存储和管理唯一的标识符。此外,还可以结合其他技术手段,如UUID和广告标识符(IDFA),以确保设备的唯一性和安全性。这些方法不仅能够满足应用的需求,还能保护用户的隐私。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • 在IDEA中成功运行Maven项目并配置Tomcat后仍遇到404错误的解决方案
    在 IntelliJ IDEA 中成功部署 Maven 项目并配置 Tomcat 后,如果仍然遇到 404 错误,可能是由于多种原因导致的。本文将详细探讨常见的问题及其解决方法,包括检查项目结构、配置文件、依赖项以及 Tomcat 配置等。通过这些步骤,可以帮助开发者快速定位并解决问题,确保应用能够正常运行。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
author-avatar
wz44_798
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有