我对Entity Framework完全陌生,并试图根据ASP.NET网站上的Rick Anderson教程自行构建一些东西。我创建了一个名为 HostelName 的模型和一个名为 HostelNameDBContext 的DBContext。我的解决方案名称是 - LaundryManagementSystem 。
这是我的型号代码:
public class HostelName
{
public int ID { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Code { get; set; }
}
public class HostelNameDBContext : DbContext
{
public DbSet<HostelName> HostelNames { get; set; }
}
可能是因为在创建模型类后添加了[Required]
属性,我面临以下异常:
InvalidOperationException: The model backing the 'HostelNameDBContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)
我尝试了以下内容:
在我的Visual Studio 2012中,转到TOOLS-&gt; NuGet包管理器 - &gt;包管理器控制台,然后在控制台中键入Enable-Migrations -ContextTypeName LaundryManagementSystem.Models.HostelName
,然后再次构建并运行解决方案,但我是仍然得到上述例外。
请注意,这是Entity Framework,Code First方法。
有人可以指出我的问题在哪里,我可能错过了什么以及如何解决这个问题?
答案 0 :(得分:1)
启用迁移后,您需要创建迁移,然后更新数据库。
在nuget控制台运行Add-Migration AddedRequiredToProperties
中创建迁移。这应该创建迁移文件。
然后运行Update-Database -Verbose
以将迁移应用于数据库。这将在数据库上运行迁移脚本,从而更改表结构。