Code First研究学习2_基本的错误及解决方法

 使用Code First时总有很多的问题出现,以下列举了一些基本的错误及解决方法!

1、当用Enable-Migrations启动数据库迁移后,如果再继续输入Enable-Migrations命令,则会出现如下的结果!解决方案就是输入Enable-Migrations -Force命令,覆盖现在所有的迁移配置!

a) 

2、当启动数据库迁移的时候,出现如下提示时 如下图a)检查如果上下文的目标一个现有的数据库……,代码首先迁移项目CodeFirstDemo启用。】你会发现生成的Migrations文件夹下只有一个文件,少了一个InitialCreate文件,如下图b),那么你需要做的就是将config文件夹里面的数据库名称改一下,重新生成一个新的数据库,那此时再运行Enable-Migrations,则会生成正常的Migrations文件夹了[如下图c]

a) 

 

b) 

 

c) 

3、当用code first生成Model层之后,就直接用Enable-Migrations命令进行数据库迁移,则会出现如下的错误:如图a) ,虽然没成功但是项目里面也同样生成了一个Migrations文件夹,不同的是里面少了一个InitialCreate文件,所以这也是不对的。解决方法是改配置文件里面的连接字符串中的数据库名称,并重新创建一个对应的新的数据库,则就可以了:如下图 c)

a) 

 

b) 

 

c) 

4、当出现上面图b)的情况时[还没有创建数据库就直接运行Enable-Migrations命令,产生的文件夹Migrations],此时如果你直接运行创建数据库,则会出现如下的错误 如下图a)[错误的意思是将生成文件夹Migrations下面的Configuration中的AutomaticMigrationsEnabled = false改为AutomaticMigrationsEnabled = true,启动自动迁移],如下图b),此时只需要将此文件夹删除再重新运行就可以创建数据库!

a) 

 

b) 

5、当启动数据库迁移成功后,我们就Student表里面增加一个字段Age,如下图a)为增加前的效果;当输入Add-Migration  AddAge[或者Add-Migration  AddStudentAge]命令,则向Student表里面增加成功,注意此时数据库中还不存在);增加成功后Migrations文件夹下面会多出一个201404140256459_addAge.cs ,如下图b),如果要在数据库中看到增加的字段,必须使用Updata-database更新到数据库,如下图c)

a) 

 

b) 

 

c) 

6、如果要删除表中某个字段,现在Model层对应表中删除此字段,然后输入Updata-database,如果出现如下的错误,则使用Updata-database -Force则可以删除指定字段了!

a) 

 

原文地址:https://www.cnblogs.com/pfwbloghome/p/3666810.html