我们最近将ASP.Net项目升级到核心2.0(肯定包括EF Core 2.0)。到目前为止一切都在工作,我甚至用新的迁移等改变了DB中的一些表...一切正常......但是现在我有一个表,我必须在表的末尾添加一个简单的列“MenuReqRole”。 这是cfgPageMenuItems类:
[Key]
[MaxLength(10)]
public string MenuArea { get; set; }
[Key]
[Required]
public int MenuOrderId { get; set; }
[Required]
public string MenuHeaderEntry { get; set; }
[Required]
public string MenuDescription { get; set; }
[Required]
public string MenuClickLink { get; set; }
public string MenuImageLink { get; set; }
//the new field
public string MenuReqRole { get; set; }
当我现在尝试在程序包管理器控制台中运行添加迁移时,它出错并显示以下消息:
Add-Migration MenuRoleAdjust2 -Context MyDbContext
fail: Microsoft.EntityFrameworkCore.Database.Command[20102]
Failed executing DbCommand (3ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT [c].[MenuArea], [c].[MenuOrderId], [c].[MenuClickLink], [c].[MenuDescription], [c].[MenuHeaderEntry], [c].[MenuImageLink], [c].[MenuReqRole]
FROM [cfgPageMenuItems] AS [c]
System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'MenuReqRole'.
modelBuilder.Entity("MyApp.Config.cfgPageMenuItems", b =>
{
b.Property<string>("MenuArea")
.HasMaxLength(10);
b.Property<int>("MenuOrderId");
b.Property<string>("MenuClickLink")
.IsRequired();
b.Property<string>("MenuDescription")
.IsRequired();
b.Property<string>("MenuHeaderEntry")
.IsRequired();
b.Property<string>("MenuImageLink");
b.HasKey("MenuArea", "MenuOrderId");
b.ToTable("cfgPageMenuItems");
});
我很困惑 - 因为这只发生在这一张桌子上(直到现在)。任何人都知道这可能导致EF惊慌失措吗?任何帮助表示赞赏!!!!
谢谢, Jan