首页 > 数据库 >使用EF在执行数据库操作时,异常提示生成的表名和实际实体名称不一致的解决方案

使用EF在执行数据库操作时,异常提示生成的表名和实际实体名称不一致的解决方案

时间:2022-12-02 10:03:15浏览次数:45  
标签:数据库 EF 生成 名称 表名 主键


1 问题回放

最近同事在使用EF DBFIRST进行实体框架开发的时候,遇到了一个奇怪的问题,提示主外键约束存在问题,但是该表并没有设置外键,而且软件提示的数据库表名不存在,但是提示的数据库表名和我EF实体名称完全不一致,最后经过分析,找出了问题并解决,在此做一个记录,方便日后查阅!

2 问题产生原因

出现这种情况的主要原因是,在创建了数据库表并设置完主键以后,在后期的开发过程中人为的修改了数据库表名,造成之前生成的主键名称和现在的表名对不上,而EF在动态生成表名的时候会从EF中的主键名称中去查找表名,导致系统在修改表名以后出现还使用的是之前的主键名称,在生成SQL的时候,EF还是会按照之前的主键名称来生成表名,造成EF中的表名和实际的实体名称并不一致!

3 问题解决方案

大家记得在修改表名以后,可以删除之前的主键,再重新创建主键来解决该问题,或者手动修改主键名称也可以解决该问题!


标签:数据库,EF,生成,名称,表名,主键
From: https://blog.51cto.com/u_11295556/5905018

相关文章