Tag: ef migrations

如何在Entity Framework 4.3.1中禁用迁移?

有什么办法可以禁用Entity Framework 4.3.1中的迁移? 我从项目和我的数据库中生成的表中删除了迁移文件夹,但它不起作用! 你如何消除迁移?

将EF迁移整合到新的InitialCreate中

我一直在使用EF迁移一段时间,在我的项目中有超过100个迁移文件。 我希望将这些合并到一个单一的迁移前,即前进 – 即我想用一个新的版本replace现有的InitialCreate迁移,考虑到我所有的后续变化,所以我可以删除所有其他迁移文件。 如果我不关心丢失数据库中的所有数据,我很容易做到这一点,但我是。 我怎样才能做到这一点,同时保持所有的数据不变,还保留了从头开始重新创build数据库(无数据)的能力,只需运行Update-Database(我认为使用Julie Lerman概述的方法是不可能的 )?

entity framework迁移停止检测POCO更新

我正在使用entity framework和entity framework迁移来实现使用代码优先和自动迁移的解决scheme。 它曾经工作很好,但突然停止检测我对POCO的更新。 现在,当我添加一个新的属性(非常简单的属性,如年龄或电子邮件),并执行Update-Database ,没有任何反应,它给了我这个: 指定'-Verbose'标志来查看迁移过程中正在执行的SQL命令。 find0等待显式迁移:[]。 添加种子数据(如果在迁移设置类中重写了Seed方法)。 没有更新! 有没有人知道为什么会发生这种情况?

如何从头开始删除和重新创build一个现有的EF代码第一个数据库

我在VS 2012中使用EF Code First和EF 5。我使用PM update-database命令,我有一个简单的种子方法来填充一些带有示例数据的表。 我想删除并重新创build我的x.mdb。 更新历史logging似乎不同步。 如果我在我的上下文中注释掉所有的DBSets,update-database运行时没有错误,但在数据库中留下了一些表。 因为我在DB中没有有价值的数据,所以似乎最简单的就是重置所有的东西。 我怎样才能做到这一点?

在Entity Framework 4.3中增加种子数据的最佳方法

我一直在使用entity framework4.3在一个现有的数据库,我有几个场景,我试图迎合。 首先,如果我删除我的数据库,我想EF重新创build,如果从头开始 – 我已经成功地使用CreateDatabaseIfNotExists数据库初始化程序。 其次,如果我更新我的模型和数据库已经存在,我想数据库自动更新 – 我已经成功地使用entity framework4.3迁移为此。 所以这是我的问题。 假设我在我的模型中添加了一个新的表格,这个表格需要一些参考数据,确保在数据库初始化器运行时以及迁移运行时创build这个数据的最好方法是什么。 我的愿望是,当我从头开始创build数据库时,以及数据库由于运行迁移而被更新时,数据被创build。 在一些EF迁移的例子中,我看到人们在迁移的UP方法中使用SQL()函数来创build种子数据,但是如果可能的话,我宁愿使用上下文来创build种子数据(就像你在大多数数据库初始化例子中看到的那样)因为在我看来,当EF的整个想法正在抽象出来的时候,你会使用纯SQL。 我试图在UP方法中使用上下文,但由于某种原因,当我尝试在调用下方直接添加种子数据以创build表时,它并不认为在迁移中创build的表存在。 任何智慧不胜感激。

如何pipe理多个分支项目中的迁移?

我有一个ASP.NET MVC3项目使用entity framework4.3与代码优先的方法。 我使用Migrations来保持数据库是最新的。 该项目是在源代码控制下,我有一些分支机构。 我刚刚意识到的是,当我想将我的一个分支合并到主控中时,会出现问题。 由于我在两个分支都创build了迁移文件,所以当我合并时会有重叠的迁移,这可能会导致冲突。 有多个分支的项目中pipe理迁移的好方法吗? 更新 一种方法是合并,然后删除分支分离时创build的所有迁移文件,然后创build一个新的迁移文件,该文件保存从创build分支到合并为止的所有更改。这将适用于dev-environment,您可以在其中转储数据库并使用所有迁移文件重新构build它。 那么问题就是现场环境。 由于您无法回滚创build分支而没有丢失数据的风险,因此尝试使用新的迁移文件更新实时数据库时会有冲突。

对EF自动迁移和种子播种的困惑 – 每个节目开始播种

我最近更改了一个应用程序使用以下的开发: DropCreateDatabaseIfModelChanges<Context> 使用: public class MyDbMigrationsConfiguration: DbMigrationsConfiguration<GrsEntities> { public MyDbMigrationsConfiguration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = true; } } 在我的数据库环境中,我有: protected override void OnModelCreating(DbModelBuilder modelBuilder) { // Tell Code First to ignore PluralizingTableName convention // If you keep this convention then the generated tables will have pluralized names. modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); //set the initializer to migration Database.SetInitializer(new […]

EF5迁移更新数据库的脚本错误

我一直在使用Visual Studio 2012 RC与试用许可证没有问题。 我昨天购买了Visual Studio 2012 Professional,安装了最新版本,并安装了Update 1。 我有一个多年来一直在努力的解决scheme/项目。 它有很多的迁移。 我在这个最新版本中运行了我的第一个add-migration TableX_NewField和update-database -sourcemigration:TableX_PreviousNewField 。 他们都跑没有问题。 然后,我运行update-database -script -sourcemigration:TableX_PreviousNewField并收到以下内容: PM> update-database -script -sourcemigration:TableX_PreviousNewField Applying code-based migrations: [201301151003149_TableX_NewField]. Applying code-based migration: 201301151003149_TableX_NewField. System.Runtime.InteropServices.COMException (0x8004000C): User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED)) at EnvDTE.ItemOperations.OpenFile(String FileName, String ViewKind) at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName) at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName) […]

ASP.NET SimpleMembershipProvider自动迁移

所以我试图使用自动迁移与我的新MVC 4项目,但不知何故,它不工作。 我跟着这个博客文章一步一步。 我已将更改添加到UserProfile帐户模型( NotaryCode字段)中: [Table("UserProfile")] public class UserProfile { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string UserName { get; set; } public int NotaryCode { get; set; } } 然后,我在包pipe理器控制台enable-migrations上写了一个Configuration类出现(从DbMigrationsConfiguration<Web.Models.UsersContext>inheritance),然后填充类: public Configuration() { AutomaticMigrationsEnabled = true; } protected override void Seed(Atomic.Vesper.Cloud.Web.Models.UsersContext context) { WebSecurity.InitializeDatabaseConnection( "DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); […]

EF迁移以更改列的数据types

我在我的项目中有一个模型如下: public class Model { public int Id { get; set; } public long FromNo { get; set; } public long ToNo { get; set; } public string Content { get; set; } public long TicketNo { get; set; } } 迁移如下 public override void Down() { AlterColumn("dbo.Received", "FromNo", c => c.Long(nullable: false)); AlterColumn("dbo.Received", "ToNo", […]