编辑04/11:此问题已根据原始帖子评论中给出的链接解决,但我仍然想知道是否有办法以某种方式更改表格的名称由解决方案中的实体框架生成。
我正在尝试将我的应用程序数据库从Windows(IIS)服务器迁移到Linux(Debian)服务器。
我已正确设置服务器,PHPMyAdmin正在运行,数据库已克隆到新服务器,但我在测试期间遇到了问题。
我已经在Web.config文件中更改了连接字符串,可以正常连接到新服务器,但是当我在调试模式下尝试我的应用程序时,出现了类似的错误:
MySql.Data.MySqlClient.MySqlException: Table 'database.Users' doesn't exist
如果我切换回旧的连接字符串(基本上是IIS上的旧服务器,它可以正常工作。“用户”表不存在,它在两个服务器中都称为“用户”。我认为问题归结为linux对表名称是区分大小写的,而IIS则不是。我认为麻烦来自ASP.NET身份,它为表设置了错误的名称,但是我不知道在哪里更改它以便我的应用程序可以工作在新数据库上。
我试过,只是为了好玩,将表名更改为Users,但后来它要求我更改一些与我认为的身份相关的其他表,如UserClaims,UserLogins,Roles等。所有这些都在我的数据库中以小写字母表示。所以我更改了它们,通过了登录表单,但下一页告诉我表“database.users”不存在。所以基本上似乎我的代码为1个表指出了2个名字。
有没有办法纠正这个问题?