我第一次尝试在 MySQL .NET 连接器 6.2.3 中使用内置成员资格/角色和配置文件提供程序,并且在我的 web.config 中使用自动生成架构属性。但是,我遇到了一些奇怪的问题。当我在本地运行网站时,我在本地数据库中创建角色、用户等没有问题,但是当我将它部署到我的 Web 服务器上时,生成的表看起来与本地不同,并且并非所有表都包含相同的列或使用相同的命名。例如,角色表在本地命名为“my_aspnet_roles”,但在服务器上命名为“my_aspnet_Roles”,包含角色名称的列在本地命名为“name”,但在服务器上命名为“Rolename”,这意味着没有提供者在线工作?有什么我想念的吗?
这是我的配置文件,其中包含提供程序的所有设置:
<connectionStrings>
<add name="LocalMySqlServer" connectionString="server=127.0.0.1;database=user_test;user id=root;pwd=1234"/>
</connectionStrings>
<membership defaultProvider="MySQLMembershipProvider">
<providers>
<remove name="MySQLMembershipProvider"/>
<add name="MySQLMembershipProvider" autogenerateschema="true" connectionStringName="LocalMySqlServer" applicationName="my_app" passwordFormat="Hashed" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</providers>
</membership>
<profile enabled="true" defaultProvider="MySQLProfileProvider">
<providers>
<remove name="MySQLProfileProvider"/>
<add name="MySQLProfileProvider" autogenerateschema="true" connectionStringName="LocalMySqlServer" applicationName="my_app" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</profile>
<roleManager enabled="true" defaultProvider="MySQLRoleProvider">
<providers>
<remove name="MySQLRoleProvider"/>
<add name="MySQLRoleProvider" autogenerateschema="true" connectionStringName="LocalMySqlServer" applicationName="my_app" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</providers>
</roleManager>