2013-03-09 14 views
7

Sto sviluppando un'applicazione ASP.NET MVC4 con Entity Framework 5 e sto utilizzando la modalità Model First.ASP.NET MVC4 Simple Membership non riesce a inizializzare se si utilizza Entity Connection String (funziona con stringa di connessione SQL)

Tuttavia semplice appartenenza genererà il seguente errore se sto usando la stringa di connessione generata dal progettista:

...... 
    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) 
    .... 

stringa di connessione generata dal progettista (non funziona):

<add name="STD" connectionString="metadata=res://*/Models.STD.csdl|res://*/Models.STD.ssdl|res://*/Models.STD.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;initial catalog=STD;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

Stringa di connessione aggiungo manualmente (funzionerà):

<add name="STD" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=STD;Integrated Security=True;MultipleActiveResultSets=True" /> 
+0

Esiste sicuramente un riferimento a EF e System.Data.Entity nell'assieme? –

+0

@NeilThompson funziona con tutto il resto (visualizza, modifica, crea, cancella) i dati. Solo Simple Membership no. –

risposta

5

Sì, Simp leMembership funziona solo con le stringhe di connessione di SQL Server, quindi hai bisogno di una tale voce nel tuo web.config. Non è l'ideale, ma funziona come dici tu ...

Questa può essere la risposta: l'articolo di Using SimpleMembership with EF model-first

Jon Galloway è una risorsa eccellente di informazioni su SimpleMembership, se non l'avete già visto: 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

+0

Quindi questo è dovuto alla progettazione o ad un bug? Per ora manterrò le 2 stringhe di connessione a causa della mancanza di qualsiasi altra soluzione più semplice. –

+0

Personalmente, penso che non sia supportato proprio ora, come risultato di un "incontro" tra varie tecnologie (vedi qui: http://odetocode.com/Blogs/scott/archive/2012/09/23/perils-of- the-mvc4-accountcontroller.aspx). Spero che arriverà con una versione futura! –

+1

Sono sollevato di sapere che non sto facendo qualcosa di sbagliato. Spero che questo possa essere appianato nella prossima versione. Grazie per i link! –

Problemi correlati