实体框架优先:通过更新数据库进行迁移失败,强制进行不必要的(?)add-migration
我使用迁移(EF 5.0)和代码优先的方式产生了有趣的效果: 我使用GUID主键创建了一些模型。(顺便说一句:对我来说,SQL Server使用NEWSEQUENTIALID(),这很重要,这似乎是当前版本中的默认值) 在某个时候,我激活了迁移。我在初始迁移中添加了一些代码,主要是.Index()根据需要。 当我删除数据库并调用更新数据库时,出现以下错误: 无法更新数据库以匹配当前模型,因为有未决的更改并且自动迁移被禁用。将挂起的模型更改写到基于代码的迁移中,或者启用自动迁移。将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为true以启用自动迁移。您可以使用Add-Migration命令将挂起的模型更改写入基于代码的迁移。 我尝试了AutomaticMigrationsEnabled = true,但没有更改或添加任何内容就可以了! 但是由于我不想要AutomaticMigrationsEnabled,我也尝试再次删除数据库,update-database然后调用,然后再删除add-migration。我最后进行了一次额外的迁移,似乎没有任何改变(请参阅下文)。我还尝试将这些行添加到初始迁移的底部-但这不会改变任何内容。 型号之一: [Table(Speaker.TABLENAME)] public class Speaker : BaseModel { public const String TABLENAME = "Speaker"; [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } [Required] [MaxLength(50, ErrorMessage = "Name must be 50 characters or less")] public string Name { get; …