我第一次尝试在MySQL .NET Connector 6.2.3中使用构建成员/角色和配置文件提供程序,并且我在web.config中使用了auto generate schema属性。但是,我遇到了一些奇怪的问题。当我在本地运行网站时,我在本地数据库中创建角色,用户等没有问题,但是当我在我的Web服务器上部署它时,生成的表看起来与本地不同,并且并非所有表都包含相同的列或使用相同的命名。例如。角色表在服务器上命名为“my_aspnet_roles”local,但是“my_aspnet_Roles”,包含角色名称的列在服务器上命名为“name”local但命名为“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>