Mysqlデータベースを使用するためにEntityFrameworkでasp.netmvc3アプリケーションのMembershipクラスを使用しようとしています。私はEFDbContextを使用しています。いくつかのスレッドに続いて、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テーブルを使用できます)