C# MVC4中带有MySQL的SimpleMembershipProvider
我在SimpleMembershipProvider中遇到了一个奇怪的问题。我在VS11中运行了一个示例MVC4项目,并创建了自己的数据库,其中包含表“userprofile”,其中包含两个字段“UserId”和“UserName”。此外,我将MySQL数据库与实体框架连接,并从数据库中生成模型 然后我试着和会员提供商打交道,我遇到了一些问题。事实上,我已经完成了本文中所写的一切: 没有理由不符合:C# MVC4中带有MySQL的SimpleMembershipProvider,c#,mysql,asp.net-mvc,simplemembership,C#,Mysql,Asp.net Mvc,Simplemembership,我在SimpleMembershipProvider中遇到了一个奇怪的问题。我在VS11中运行了一个示例MVC4项目,并创建了自己的数据库,其中包含表“userprofile”,其中包含两个字段“UserId”和“UserName”。此外,我将MySQL数据库与实体框架连接,并从数据库中生成模型 然后我试着和会员提供商打交道,我遇到了一些问题。事实上,我已经完成了本文中所写的一切: 没有理由不符合: WebSecurity.InitializeDatabaseConnection("Parse
WebSecurity.InitializeDatabaseConnection("ParserEntities", "userprofile", "UserId", "UserName", autoCreateTables: true);
我得到一个例外:
无法初始化ASP.NET简单成员身份数据库。有关详细信息,请参见“}”
这就是我的连接字符串的外观:
<add name="ParserEntities" connectionString="metadata=res://*/ParserModel.csdl|res://*/ParserModel.ssdl|res://*/ParserModel.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=root;database=parser"" providerName="System.Data.EntityClient" />
感谢您的帮助!SimpleMembershipProvider使用代码优先的数据库上下文。它不适用于使用EntityClient sql提供程序的DatabaseFirst(基于edmx)连接字符串。我在GitHub上创建了MySqlSimpleMembershipProvider,并创建了示例项目 就这些 谢谢你对这个问题的回答
单击示例屏幕截图:我为MySQL编写了自己的提供程序。最简单的解决方案是创建一个新的类提供程序,该类提供程序将继承自
MembershipProvider
,并实现您感兴趣的方法。当然,您需要实现ValidateUser
方法。很抱歉,回答这个解决方案花了这么长时间但是还有太多的事情要做。