我刚刚安装了EF 4.3-beta1,以便进行迁移操作,但我无法让它正常工作。我遇到的错误是:
PM> Update-Database -Verbose
Using NuGet project 'Project.Domain'.
Using StartUp project 'ProjectWebSite'.
System.InvalidOperationException: No migrations configuration type was found in the assembly 'Project.Domain'.
at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.FindConfiguration()
at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.GetMigrator()
at System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.RunCore()
at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
No migrations configuration type was found in the assembly 'Project.Domain'.
我已经给两个EF类添加了一个新列:
public class MasterInstance
{
public int MasterInstanceId { get; set; }
[Required] public string HostName { get; set; }
[Required] public string Name { get; set; } /* <-- THIS IS NEW */
[Required] public string ConnectionString { get; set; }
public virtual ICollection<MasterInstanceLocation> MasterInstanceLocations { get; set; }
}
我的DbContext看起来是这样的:
public class ProjectDontext: DbContext, IProjectContext
{
public IDbSet<Installer> Installers { get; set; }
public IDbSet<MasterInstance> MasterInstances { get; set; }
public IDbSet<MasterInstanceLocation> MasterInstanceLocations { get; set; }
}
有什么想法吗?我的EF类和上下文存储在一个独立的程序集中(Project.Domain)。我尝试在主网站和域项目的上下文中运行update-database,但无论哪种方式都会出现相同的错误。
-- 编辑 --
找到解决方案。原来需要为项目启用迁移。您可以在NuGet控制台中运行Enable-Migrations
来完成此操作(确保选择了正确的项目 - 对于我来说,这是project.domain项目)。
这个演示提供更多信息。