实体框架自动迁移现有的数据库(Entity Framework Automatic Migratio

2019-07-21 05:31发布

我建立与实体框架5.一个ASP.Net MVC4 Web应用程序,我不得不使用现有的SQL Server数据库,但也想用代码第一次,所以我跟着这个教程http://msdn.microsoft.com/en-us /data/jj200620.aspx

我的应用程序使用实体框架自动迁移。

我用整个发展阶段的SQL Server的版本是2008年,但是,在最后一分钟我已经告诉数据库需要到SQL Server 2005上运行,我得到了数据库,我使用SQL Server 2008安装(具体表,属性名,SQL Server 2005中但是在人际关系等),与我的web配置等设置为指向SQL Server 2005数据库,当我做出改变,以我的模型类之一,自动迁移不起作用。

我得到以下错误

目前已经在数据库中名为“tblcourseprofessionTarget”的对象。

任何人都可以请帮助?

谢谢。

道歉,如果我还没有添加足够的信息。

Answer 1:

乡亲

回答我的问题上面这篇文章帮助http://christesene.com/entity-framework-4-3-code-first-with-automatic-migrations/

我不得不删除我以前的初始迁移类,并重新创建它。



Answer 2:

我有一个类似的问题。

对我来说,原因是相同的迁移已经在数据库中,但根据不同的MigrationID已经运行。 我有201504302005411_InitialCreate但我的迁移脚本被称为201505041911076_InitialCreate

我通过重命名MigrationID在数据库中匹配一个在我的代码固定的问题。

我不太知道我是如何在这种情况结束了,但重命名MigrationID意味着应用程序知道脚本已经运行。



Answer 3:

如果你的环境是我的:增加了一个新的实体类的工作就可以了,但是,当我试图迁移它显示了这个错误,请尝试删除从数据库上下文对象,然后运行更新数据库,并再次添加该对象并重新运行更新数据库

例如:

public DbSet<CustomizedEmail> CustomizedEmail { get; set; }
public DbSet<KeyWordsForEmail> KeyWordsForEmail { get; set; }
public DbSet<Notice> Notice { get; set; }//remove it>run update-database>
//add again the above entity and rerurn update-database

这个作品你是否有数据与否。 在这个过程中,你将失去在该表中的数据。



文章来源: Entity Framework Automatic Migrations Existing Database