2013-03-09 11 views
7

Entity Framework 5 ile ASP.NET MVC4 uygulaması geliştiriyorum ve Model First modunu kullanıyorum. Ben tasarımcı tarafından oluşturulan bağlantı dizesi kullanıyorum eğerASP.NET MVC4 Varlık Bağlantısı Dizesi (SQL bağlantı dizesiyle çalışır) kullanıldığında Basit Üyelik başlatılamıyor

Ancak Basit üyelik aşağıdaki hatası atar: tasarımcı tarafından oluşturulan

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

Bağlantı dizesi (işe yaramaz):

<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" /> 

Bağlantı dizesi Elle ekleyeceğim (çalışacaktır):

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

Montajda kesinlikle EF ve System.Data.Entity'ye bir referans var mı? –

+0

@NeilThompson, diğer her şeyle (görünümü, düzenle, oluştur, sil) verileriyle çalışır. Sadece Basit Üyelik yapmaz. –

cevap

5

Evet, Simp leMembership sadece SQL Server bağlantı dizeleriyle çalışır, dolayısıyla web.config'inizde böyle bir girişe ihtiyacınız vardır. Zaten görmediyseniz Using SimpleMembership with EF model-first

Jon Galloway makalesi, SimpleMembership hakkında bilgi mükemmel bir kaynaktır: Dediğiniz gibi İdeal değil, ama

Bu cevap olabilir ... işleri 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

Yani bu tasarım mı, böcek mi? Şimdilik, daha basit bir çözümün olmaması nedeniyle 2 bağlantı dizesini koruyacağım. –

+0

Şahsen, şu anda çeşitli teknolojilerin bir araya gelmesinin bir sonucu olarak desteklenmediğini düşünüyorum (bkz. Http://odetocode.com/Blogs/scott/archive/2012/09/23/perils-of- -mvc4-accountcontroller.aspx). Umarım gelecekteki bir sürümle birlikte gelir! –

+1

Yanlış bir şey yapmadığımı bildiğim için rahatlıyorum. Umarım bu bir sonraki sürümde düzeltilebilir. Linkler için teşekkürler! –