我正在使用ContosoUniversity示例。我刚刚使用Nuget下载并安装代码首先迁移pakage。当我执行update-database
命令时,它会抛出错误。除了安装nuget包之外还有什么可以做的吗?
Update-Database : Could not load type 'System.Data.Entity.Infrastructure.DbContextInfo' from assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
At line:1 char:16
+ update-database <<<<
+ CategoryInfo : NotSpecified: (:) [Update-Database], TypeLoadException
+ FullyQualifiedErrorId : System.TypeLoadException,System.Data.Entity.Migrations.Commands.MigrateCommand
修改,
现在我已经安装了ADO.NET Entity Framework 4.1 - Update 1
,现在它抛出了一个错误
Update-Database : The project 'ContosoUniversity' does not contain or reference any contexts.
At line:1 char:16
+ update-database <<<<
+ CategoryInfo : NotSpecified: (:) [Update-Database], InvalidOperationException
+ FullyQualifiedErrorId : System.InvalidOperationException,System.Data.Entity.Migrations.Commands.MigrateCommand
我在微软博客中尝试了这个场景,但没有任何改变。 (http://blogs.msdn.com/b/adonet/archive/2011/07/27/code-first-migrations-august-2011-ctp-released.aspx)
答案 0 :(得分:4)
尝试安装msi。
http://www.microsoft.com/download/en/details.aspx?id=26825
您收到的第二个错误听起来像是在识别项目中的上下文时遇到问题。确保您有一个继承自DbContext的类。
我还会检查您的项目是否引用了Entity Framework的正确版本 - 4.1 Update 1.根据项目类型,您应该能够在项目的References文件夹中找到相关引用。您可能需要单击“显示所有文件”按钮(解决方案资源管理器顶部工具栏左侧第二个)。
选择引用后,您将在“属性”窗格中看到DLL的路径及其版本等信息(如果尚未显示,则为F4)。
编辑:根据下面的JTew,需要重新启动Visual Studio。
答案 1 :(得分:1)
有同样的错误。
我有:
这个错误原来是框架抱怨,因为它从GAC获得旧的4.1.0.0。
卸载旧的EF 4.1就可以了。