0

データベースから生成された EF 5.0 モデルがあります。このモデルは、クラス ライブラリ プロジェクトに存在します。このクラス ライブラリ プロジェクトには、モデルの接続文字列情報を含む app.config ファイルがあります。

「データベースからモデルを更新」を選択するたびに、接続文字列を再入力する必要があります。app.config ファイルの文字列が表示されないようです。

また、モデルの更新中に、クリックして接続文字列を app.config に保存しても、保存されません。

ここに私のapp.configファイルがあります:

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
  <connectionStrings>
    <add name="mapEntities"
        connectionString="metadata=res://*/mapModel.csdl|
                                                       res://*/mapModel.ssdl|
                                                       res://*/mapModel.msl;
                                           provider=Oracle.DataAccess.Client
                                           provider connection string=
                                               &quot;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myserver.com)(PORT=1521)))(CONNECT_DATA=(SID=MYDB)));User Id=MYUSERNAME;Password=MYPASSWORD;&quot;"
     providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

app.config から EF に接続文字列を表示させるにはどうすればよいですか? モデルに関数インポートを追加する必要がありますが、モデルに接続が構成されていないと表示されるため、できません。

編集 ハッキーではありますが、解決策を見つけました。

こちらのスタックオーバーフローの投稿を参照してください

OPは、プロジェクトで新しいEDMXファイルを再作成し、それを修正したと述べました。私も同じことをしました。古い EDMX ファイルを再生成しませんでした。新しいものを作成した後、古い EDMX に戻ったところ、現在は機能しています。

4

1 に答える 1

0

connectionString セクションを web.config ファイルにコピーします。

于 2013-02-20T14:09:28.460 に答える