关于entity framework迁移的空引用
当我使用Entity Framework迁移的Add-Migration命令时,我得到以下exception:
System.NullReferenceException: Object reference not set to an instance of an object. at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetFileName(Project project, String projectItemName) at System.Data.Entity.Migrations.MigrationsCommands..ctor(Object project, Object startUpProject, String configurationTypeName, String connectionStringName, String connectionString, String connectionProviderName, PSCmdlet cmdlet)
任何见解?
之前我在解决方案中有多个项目并且选择“错误”项目作为启动项目时已经看到了这一点。 例如,有人报告说,在Azure托管的MVC3网站中,他们将Azure项目作为启动项目而不是MVC项目。 当启动修复问题时切换到MVC项目。
更新:这已在EF5-beta2中修复,现在可在NuGet上使用。
实际上,只需使用正确的标志和参数调用任何EF命令,就可以非常轻松地在Package Manager控制台中指定目标项目,例如,给定一个名为ProjectFoo的项目,该项目来自具有多个项目的解决方案:
-
enable-migrations -projectname projectfoo
-
add-migration "Initial" -projectname projectfoo
-
update-database -projectname projectfoo
等…
非常简单。