Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC4中带有MySQL的SimpleMembershipProvider_C#_Mysql_Asp.net Mvc_Simplemembership - Fatal编程技术网

C# MVC4中带有MySQL的SimpleMembershipProvider

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

我在SimpleMembershipProvider中遇到了一个奇怪的问题。我在VS11中运行了一个示例MVC4项目,并创建了自己的数据库,其中包含表“userprofile”,其中包含两个字段“UserId”和“UserName”。此外,我将MySQL数据库与实体框架连接,并从数据库中生成模型

然后我试着和会员提供商打交道,我遇到了一些问题。事实上,我已经完成了本文中所写的一切:

没有理由不符合:

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=&quot;server=localhost;user id=root;database=parser&quot;" providerName="System.Data.EntityClient" />


感谢您的帮助!

SimpleMembershipProvider使用代码优先的数据库上下文。它不适用于使用EntityClient sql提供程序的DatabaseFirst(基于edmx)连接字符串。

我在GitHub上创建了MySqlSimpleMembershipProvider,并创建了示例项目

就这些

谢谢你对这个问题的回答


单击示例屏幕截图:

我为MySQL编写了自己的提供程序。最简单的解决方案是创建一个新的类提供程序,该类提供程序将继承自
MembershipProvider
,并实现您感兴趣的方法。当然,您需要实现
ValidateUser
方法。很抱歉,回答这个解决方案花了这么长时间但是还有太多的事情要做。