银天科技设计出品
扫描关注银天科技微信公众账号

广州网站建设

解决MVC5+EF6外键命名不规范导致列名无效

银天科技2019-06-08站长实战
广州网站开发银天科技小编在网站开发过程中,使用的是VS2017中的MVC5,在使用LINQ查询的时候碰到了问题外键ID列名无效的问题。

实体类明明没有的外键名,EF却使用了生成的外键ID名,而这个外键名在数据库是没有的。

这是因为在EF6中,外键的命名规范是原表名+ID,如果找不到表名,EF会自动生成一个外键ID名。

那么我们怎么解决呢?我们需要在实体类里面声明这个外键,这EF就不会自动生成一个数据库没有的外键了。

如下图:

广州网站开发

我们再执行SQL语句,看看,问题是不是迎刃而解了?

这种做法是针对数据库外键命名不规范的做法。

我们在用EF和MVC开发的时候,构建数据库的外键要按照命名规范,就是外键表名加ID来作为外键名,就不会有这个错误了。

如果你有更多问题不懂,请持续关注广州网站开发银天科技。
文章关键词
广州网站开发
MVC开发