惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
Last Week in AI
Last Week in AI
博客园_首页
I
InfoQ
T
Tailwind CSS Blog
爱范儿
爱范儿
雷峰网
雷峰网
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
B
Blog
WordPress大学
WordPress大学
A
About on SuperTechFans
V
Visual Studio Blog
有赞技术团队
有赞技术团队
P
Proofpoint News Feed

博客园 - ssnice

AI使用总结 常见问题汇总 mysql出现 You can't specify target table 'xx' for update in FROM clause 0.000 sec 常见linux命令 nlog sqlserver 定时自动备份 sqlserver 常见语法 mysql 常用命令(linux) mysql 连接数 最大并发数 windows mysql 主从同步 mysql基础语法 windows mysql8 安装 VS2022安装后,使用VS2019打开项目,出现无法找到.NET SDK的问题解决 Asp .Net Mvc5 缓存 DataBase First创建数据库 OpenXML_导入Excel到数据库 Linq/List/Array/IEnumerable等集合操作 js中substring/substr和C#中Substring的用法 C#中静态构造函数含义及使用
Code First研究学习2_基本的错误及解决方法
ssnice · 2014-04-15 · via 博客园 - ssnice

 使用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)