1

プロジェクトに ADO.NET Entity Data Model を追加しました。これにより、app.config に次のような接続文字列が作成されました。

<add name="KeyTranslatorEntities" connectionString="metadata=res://*/DAL.Model.csdl|res://*/DAL.Model.ssdl|res://*/DAL.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=ZZZZZ.database.windows.net,1433;initial catalog=KeyTranslator;persist security info=True;user id=YYYYY;password=XXXXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

また、DbContext から継承し、次のデフォルト コンストラクタを持つクラス KeyTranslatorEntities も生成しました。

public KeyTranslatorEntities()
        : base("name=KeyTranslatorEntities")
    {
    }

デフォルトで生成されたコンストラクターを使用して KeyTranslatorEntities を作成しますが、検査すると、インスタンスは接続文字列を使用します。

"data source=localhost;initial catalog=KeyTranslator;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"

正しい接続文字列を使用していないのはなぜですか?

4

1 に答える 1

1

問題は、ソリューションが 2 つの異なるプロジェクトで構成されていることでした。1 つは EntityFramework コードを含み、もう 1 つは他のプロジェクトに依存する WebService プロジェクトでした。WebService プロジェクトには、使用されていた最初の接続文字列が含まれていました。

教訓: スタートアップ プロジェクトの構成ファイルが更新されていることを確認します。

于 2013-07-02T04:46:59.420 に答える