实体框架迁移上的引用为Null

本文关键字:引用 Null 框架 迁移 实体 | 更新日期: 2023-09-27 18:25:58

当我使用实体框架迁移的"添加迁移"命令时,我得到以下异常:

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)

有什么见解吗?

实体框架迁移上的引用为Null

当解决方案中有多个项目,并且选择"错误"的项目作为启动项目时,我以前见过这种情况。例如,其他人报告说,在Azure托管的MVC3网站中,他们将Azure项目作为启动项目,而不是MVC项目。在启动时切换到MVC项目解决了这个问题。

更新:这已在EF5-beta2中修复,现在可以在NuGet上使用。

在调用任何EF命令时,只需使用正确的标志和参数,就可以非常容易地在PackageManager控制台中指定目标项目,例如,给定一个包含多个项目的解决方案中的ProjectFoo项目:

  • enable-migrations -projectname projectfoo
  • add-migration "Initial" -projectname projectfoo
  • update-database -projectname projectfoo等等

很简单。