内容简介:最近同事在使用EF DBFIRST进行实体框架开发的时候,遇到了一个奇怪的问题,提示主外键约束存在问题,但是该表并没有设置外键,而且软件提示的数据库表名不存在,但是提示的数据库表名和我EF实体名称完全不一致,最后经过分析,找出了问题并解决,在此做一个记录,方便日后查阅!出现这种情况的主要原因是,在创建了数据库表并设置完主键以后,在后期的开发过程中人为的修改了数据库表名,造成之前生成的主键名称和现在的表名对不上,而EF在动态生成表名的时候会从EF中的主键名称中去查找表名,导致系统在修改表名以后出现还使用的是之
1 问题回放
最近同事在使用EF DBFIRST进行实体框架开发的时候,遇到了一个奇怪的问题,提示主外键约束存在问题,但是该表并没有设置外键,而且软件提示的数据库表名不存在,但是提示的数据库表名和我EF实体名称完全不一致,最后经过分析,找出了问题并解决,在此做一个记录,方便日后查阅!
2 问题产生原因
出现这种情况的主要原因是,在创建了数据库表并设置完主键以后,在后期的开发过程中人为的修改了数据库表名,造成之前生成的主键名称和现在的表名对不上,而EF在动态生成表名的时候会从EF中的主键名称中去查找表名,导致系统在修改表名以后出现还使用的是之前的主键名称,在生成 SQL 的时候,EF还是会按照之前的主键名称来生成表名,造成EF中的表名和实际的实体名称并不一致!
3 问题解决方案
大家记得在修改表名以后,可以删除之前的主键,再重新创建主键来解决该问题,或者手动修改主键名称也可以解决该问题!
以上所述就是小编给大家介绍的《使用EF在执行数据库操作时,异常提示生成的表名和实际实体名称不一致的解决方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- MyBatis Generator配置文件--指定生成实体类使用实际的表列名作为实体类的属性名
- 在线数据库表(sql语句)生成java实体类工具
- golang xorm reverse 自动生成数据库实体文件
- dotnet core 从MySql数据库生成实体类 Entity Model
- 论文浅尝 | 基于未知谓词与实体类型知识图谱的 Zero-Shot 问题生成
- EF架构~FluentValidation实体检验与实体分离了
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Web Designer's Idea Book, Vol. 2
Patrick McNeil / How / 2010-9-19 / USD 30.00
Web Design Inspiration at a Glance Volume 2 of The Web Designer's Idea Book includes more than 650 new websites arranged thematically, so you can easily find inspiration for your work. Auth......一起来看看 《The Web Designer's Idea Book, Vol. 2》 这本书的介绍吧!