Questions tagged «entity-framework-migrations»


9
实体框架优先:通过更新数据库进行迁移失败,强制进行不必要的(?)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; …


4
是否在单独的程序集中启用上下文迁移?
我有一个要运行的项目,update-database但我的模型和上下文位于单独的项目中。 如果我运行enable-migrations,则会出现此错误:在程序集“ MyProject”中未找到任何上下文类型。 大概是因为我的上下文在MyProject.MVC中。 如果我enable-migrations针对MyProject.MVC运行,则必须添加一个应用程序配置文件。我不想这样做,因为我想在许多项目中使用代码。 所以我可以enable-migrations针对MyProject运行,并以某种方式告诉它在MyProject.MVC中查找上下文吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.