Azure には、Sismos というデータベースがあり、これは WCF サービスの対象でした。このデータベースのコピーを Azure で次のように作成しました。
CREATE DATABASE sismos_cfe AS COPY OF Sismos;
これは、最初のデータベースがテスト用であり、他の目的に使用され、この新しいデータベースがこの WCF サービスのすべての作業を処理するためです。
私の WCF サービスでは、Web.config ファイルの次の行を変更しました。
<connectionStrings>
<add name="Model1Container" connectionString="metadata=res://*/Sismos.csdl|res://*/Sismos.ssdl|res://*/Sismos.msl;
provider=System.Data.SqlClient;provider connection string="data source=*******.database.windows.net;
initial catalog=Sismos;persist security info=True;user id=*******;password=*****;
multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
これとともに:
<connectionStrings>
<add name="Model1Container" connectionString="metadata=res://*/Sismos.csdl|res://*/Sismos.ssdl|res://*/Sismos.msl;
provider=System.Data.SqlClient;provider connection string="data source=******.database.windows.net;
initial catalog=sismos_cfe;persist security info=True;user id=*****;password=******;
multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
そして、私の app.cofig ファイルの次の行:
<connectionStrings>
<add name="Model1Container" connectionString="metadata=res://*/Sismos.csdl|res://*/Sismos.ssdl|res://*/Sismos.msl;
provider=System.Data.SqlClient;provider connection string="data source=******.database.windows.net;
initial catalog=Sismos;persist security info=True;user id=****;password=*****;
multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
これとともに:
<connectionStrings>
<add name="Model1Container" connectionString="metadata=res://*/Sismos.csdl|res://*/Sismos.ssdl|res://*/Sismos.msl;provider=System.Data.SqlClient;
provider connection string="data source=******.database.windows.net;
initial catalog=sismos_cfe;persist security info=True;user id=****;password=*****;
multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
ご覧のとおり、Sismos をポイントする代わりにプロパティの値を置き換えただけで、initial catalog
cfe_sismos をポイントする必要があります。
私が抱えている問題は、データベース内のエントリの削除を処理するエンドポイントの 1 つにアクセスしようとすると、データベースがまったく変更されないことです。エントリの選択やエントリの編集・挿入の操作は問題ありません。プロパティ値 eing Sismosではinitial catalog
、どのエンドポイントにも問題はありません。理論的には、すべてのデータベース アクセスは cfe_sismos データベースに向けられる必要があります。
initial catalog
プロパティ値を置き換えるだけでは不十分でしたか? どんな助けでも大歓迎です。
編集
エントリを編集するときにも問題や奇妙な動作があることに気付きました。たとえば、Users テーブルにエントリがあり、Last_Name を編集すると、Azure でデータベースをチェックしても変更が反映されませんが、ユーザーを返すエンドポイントを呼び出します。変更が存在します。Azure で最新の値を表示するのを妨げる何らかの遅延があるかどうかを確認するために少し時間を与えましたが、変更は表示されませんでした。それらの変更が実際のデータベースに表示されずに、どうすればデータベースに変更を加えることができますか? 新しいエントリをテーブルに挿入しようとすると、エントリは問題なく表示されます。
要約すると、WCF サービスのエンドポイントを介して、何かを挿入すると Azure に表示され、何かを編集すると Azure に表示されません (ただし、それぞれのエンドポイントを呼び出すと変更が利用可能になります)。 Azure に表示されず、エンドポイントを呼び出したときに変更が反映されないものを削除したい。
Azure のデータベースが変更を受け取っていない場合、すべての情報はどこから入手できますか? キャッシュされたデータベースがどこかに存在するようなものです。これが起こっている理由に本当に混乱しています。
私はこの奇妙な行動に本当に混乱しているので、誰かが私を助けてくれることを願っています. 前もって感謝します。