ASP.NET MVC4 Simple Membership fails to initialize if using Entity Connection String (works with SQL connection string)
asp.net-mvc-4, entity-framework-5
Solution
Yes, SimpleMembership only works with SQL Server connection strings, so you need such an entry in your web.config. Not ideal, but it works as you say...
This may be your answer: Using SimpleMembership with EF model-first
Jon Galloway's article is an excellent resource of information about SimpleMembership, if you haven't already seen it: http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx
Problem
I am developing ASP.NET MVC4 application with Entity Framework 5, and I am using Model First mode. However Simple Membership will throw the following error if I am using the connection string generated by the designer: ``` ...... InnerException: System.InvalidOperationException HResult=-2146233079 Message=The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588 Source=STD StackTrace: at SistemTempahanDewan.Filters.InitializeSimpleMembershipAttribute.SimpleMembershipInitializer..ctor() in c:\Users\Orang\Documents\Visual Studio 2012\Projects\STD\STD\Filters\InitializeSimpleMembershipAttribute.cs:line 45 InnerException: System.ArgumentException HResult=-2147024809 Message=Unable to find the requested .Net Framework Data Provider. It may not be installed. Source=System.Data StackTrace: at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) at WebMatrix.Data.DbProviderFactoryWrapper.CreateConnection(String connectionString) .... ``` Connection string generated by the designer (will not work): ``` <add name="STD" connectionString="metadata=res://*/Models.STD.csdl|res://*/Models.STD.ssdl|res://*/Models.STD.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLEXPRESS;initial catalog=STD;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> ``` Connection string I add manually (will work): ``` <add name="STD" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=STD;Integrated Security=True;MultipleActiveResultSets=True" /> ```