使用asp.net“membership”为mysql数据库抛出关键字不支持。参数名称:元数据错误

时间:2012-12-26 07:28:59

标签: asp.net asp.net-mvc-3 entity-framework datacontext mysql-connector

我正在尝试使用Entity框架的asp.net mvc3应用程序的Membership类来使用Mysql数据库。我正在使用EF DbContext。 在一些线程之后,我将machine.config的MySQLMembershipProvider更改为

<add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.4.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="book_shelfEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" autogenerateschema="true"/>

其中book_shelfEntities是我的连接字符串的名称。

我在web.config中的connectionStrings为

<connectionStrings>
    <add name="ApplicationServices" 
    connectionString="data source=.\SQLEXPRESS;Integrated  Security=SSPI;        AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
    <add name="book_shelfEntities" connectionString="metadata=res://*/Models.libs.csdl|res://*/Models.libs.ssdl|res://*/Models.libs.msl;provider=MySql.Data.MySqlClient;provider connection string='server=localhost;User Id=root;password=root;Persist Security Info=True;database=book_shelf'" providerName="System.Data.EntityClient" />
</connectionStrings>

并且web.config中的成员身份为

<membership defaultProvider="MySqlMembershipProvider">
    <providers>
    <clear />
        <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.4.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="book_shelfEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="100" minRequiredPasswordLength="2" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
    </providers>
</membership>

我有一个名为users的表,其中包含用户名和密码字段。 当我尝试使用Membership.ValidateUser VS2010抛出错误

不支持关键字。 参数名称:我的web.config文件中与我的成员资格提供者名称对应的元数据

请帮我解决这个问题,因为我是asp.net的新手 (我可以在其他部分使用Mysql表进行添加,编辑等)

0 个答案:

没有答案