0

これで私を助けてください!私は自分のウェブサイトを somee.com に置きました。彼らはこの接続文字列を与えました

Connection string:  workstation id=GWAPDataBase.mssql.somee.com;packet size=4096;user id=xxxx;pwd=xxxxx;data source=GWAPDataBase.mssql.somee.com;persist security info=False;initial catalog=GWAPDataBase

そして、ローカルホストにいたときに自動生成された接続文字列は

<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="GWAP_Entities" connectionString="metadata=res://*/App_Code.GWAPModel.csdl|res://*/App_Code.GWAPModel.ssdl|res://*/App_Code.GWAPModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\aspnetdb.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

変更しようとしましたが、次のエラーが表示されます

指定された名前付き接続が構成内に見つからないか、EntityClient プロバイダーでの使用が意図されていないか、無効です。

説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.ArgumentException: 指定された名前付き接続が構成で見つからないか、EntityClient プロバイダーでの使用を意図していないか、無効です。

ソース エラー:

19 行目: #region コンストラクター 20 行目: 21 行目: public GWAP_Entities() 22 行目: : base(ConnectionString, ContainerName) 23 行目: {

接続文字列を変更する方法を教えてください。

4

1 に答える 1

0

接続文字列名と Entity Framework が期待する名前が一致していないようです。コードがどのように見えるかについての詳しい情報がないので、Visual Studio のウィザードを使用してデータベースからモデルを生成したと仮定しています。その際、接続文字列の名前を入力すると、デザイナー ファイルにハードコードされます。例:

public FooEntity() : base("name=FooEntity", "FooEntity")
{
    this.ContextOptions.LazyLoadingEnabled = true;
    OnContextCreated();
}

この場合の文字列 "FooEntity" は、接続文字列の名前である必要があります。それらが異なる場合、接続文字列は見つかりません。これらの値が一致していることを確認してください。

于 2012-06-29T15:50:23.907 に答える