2

SQL Server データベースで asp.net メンバーシップを使用して MVC 3 アプリを作成しようとしています。このアプリの開発に Entity Framework を使用できるようにしたいと考えています。

データベースで作成し、aspnet_regsql ユーティリティを使用してメンバーシップ テーブルをデータベースに追加しました。私が立ち往生している部分は、アプリケーションを使用してこのデータベースに接続する方法です。

web.config で新しい接続文字列を生成するエンティティ モデルをプロジェクトに追加し、すべてのメンバーシップ関連エントリの connectionStringName プロパティを次のように新しい文字列に変更しようとしました。

<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="BlogV1Entities" applicationName="/" />

しかし、アプリまたは ASP.NET 構成ユーティリティを使用してユーザーを作成しようとするとエラーが発生するため、これは機能しません。

An error occurred while attempting to initialize a System.Data.SqlClient.SqlConnection object. The value that was provided for the connection string may be wrong, or it may contain an invalid syntax. Parameter name: connectionString

アプリがデータベースにアクセスできるように、このセットアップを適切に取得するために誰かが私を正しい方向に向けることができますか?

編集:最初のコメントに応じて、接続文字列は次のようになります。

 connectionString="metadata=res://*/BlogV1Model.csdl|res://*/BlogV1Model.ssdl|res://*/BlogV1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=jesse-laptop;initial catalog=BlogV1;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
4

2 に答える 2

4

asp.net メンバーシップを使用している場合、エンティティ フレームワーク接続文字列は機能しません。私は自分のプロジェクトでこのようにしていません。つまり、そのためには別の接続文字列が必要です。

メンバーシップ接続文字列。

<add name="DAConnection" connectionString="Data Source=.\sqlexpress;initial catalog=E:\MYWORK\DIGITALASSETSMVC3\DAMVC3\APP_DATA\DAMVC3.MDF;integrated security=True" providerName="Syste.Data.SqlClient" />

エンティティ フレームワークの接続文字列。

<add name="DAEntities" connectionString="metadata=res://*/Models.DAModel.csdl|res://*/Models.DAModel.ssdl|res://*/Models.DAModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\sqlexpress;initial catalog=E:\MYWORK\DIGITALASSETSMVC3\DAMVC3\APP_DATA\DAMVC3.MDF;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
于 2012-07-03T18:08:44.547 に答える
2

これは、メンバーシップで使用できる有効な接続文字列ではありません。これは、EF で使用できる特別な接続文字列のようなものです (メンバーシップが AFAIK を期待する provideName が異なるため)。

代わりに、明確な通常の接続文字列とそれへの参照を追加します。

于 2012-07-03T18:09:16.583 に答える