第一次做个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/
这是一个国外大神写的临时解决办法。
下面我在解释一下。。
报错内容:
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
$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)
报错内容:
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
$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的就是直接用这里的没替换一直报错无法转换类型,搞了半天才反应过来。。。
原文:http://www.cnblogs.com/ashidamana/p/5247936.html