7

Entity Framework 5 を使用して ASP.NET MVC4 アプリケーションを開発しており、Model First モードを使用しています。

ただし、デザイナーによって生成された接続文字列を使用している場合、Simple Membership は次のエラーをスローします。

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

デザイナーによって生成された接続文字列 (機能しません):

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

手動で追加した接続文字列 (動作します):

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

1 に答える 1

6

はい、SimpleMembership は SQL Server 接続文字列でのみ機能するため、web.config にそのようなエントリが必要です。理想的ではありませんが、あなたが言うように機能します...

これがあなたの答えかもしれません: Using SimpleMembership with EF model-first

Jon Galloway の記事は、SimpleMembership に関する優れた情報源です (まだご覧になっていない場合) 。 -and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

于 2013-03-09T11:35:30.270 に答える