2013-03-17 28 views
0

我正面臨着SimpleMembershipProvider的奇怪問題。我在VS11中運行了一個示例MVC4項目,並創建了自己的數據庫,其中包含具有兩個字段「UserId」和「UserName」的表「userprofile」。此外,我將我的MySQL數據庫與實體框架連接起來,並從數據庫中生成模型。SimpleMembershipProvider與MVC4中的MySQL

然後我試圖處理會員提供商,我面臨一些問題。 Actualy,我所做的一切是怎樣寫的這篇文章:

http://deresegetachew.wordpress.com/2013/01/20/websecurity-initializedatabaseconnection-throughs-an-exception-unable-to-find-the-requested-net-framework-data-provider/

沒有理由符合:

WebSecurity.InitializeDatabaseConnection("ParserEntities", "userprofile", "UserId", "UserName", autoCreateTables: true); 

我得到一個異常:

ASP.NET簡單成員數據庫無法初始化。欲瞭解更多信息,請參閱http://go.microsoft.com/fwlink/?LinkId=256588「}

這是我的連接字符串看起來像:

<add name="ParserEntities" connectionString="metadata=res://*/ParserModel.csdl|res://*/ParserModel.ssdl|res://*/ParserModel.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=localhost;user id=root;database=parser&quot;" providerName="System.Data.EntityClient" /> 

感謝所有幫助

+0

我寫了我自己的MySQL提供程序。最簡單的解決方案是創建一個新的類提供程序,它將從'MembershipProvider'繼承並實現您感興趣的方法。當然,您需要實現'ValidateUser'方法。抱歉,花太久的時間來回答解決方案,但還有很多其他的事情要做。 – lklusek 2013-03-28 07:45:00

回答

0

SimpleMembershipProvider使用守則第一數據庫上下文沒有。與使用EntityClient sql提供程序的DatabaseFirst(基於edmx的)連接字符串一起工作。