在Azure中,我有一個名爲Sismos數據庫,這是我的WCF服務的目標,我在Azure上建立這個數據庫的副本是這樣的:如何更改WCF服務連接字符串中的數據庫?
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>
正如你所看到的,我只替換了initial catalog
屬性的值,而不是指向Sismos,它現在應該指向cfe_sismos。
我遇到的問題是,當我嘗試訪問我的一個端點來處理刪除數據庫中的條目時,根本沒有對數據庫進行任何更改。通過選擇條目或編輯/插入條目的操作,沒有問題。使用Sismos的屬性值對於任何端點都沒有問題,理論上任何數據庫訪問都應該指向cfe_sismos數據庫。
是不是用我替換initial catalog
屬性值不夠?任何幫助將不勝感激。
編輯
我只注意到有當編輯的條目,例如,如果我有我的表中的用戶的入口,我編輯的姓氏也是問題和古怪的行爲,這種變化不會是當我在Azure上檢查我的數據庫時反映出來,但是如果我調用返回用戶的端點,則會出現更改,我花了一些時間來查看是否有某種延遲阻止在Azure中顯示最新值,但是它沒有顯示任何變化。如何在數據庫中進行更改而不在實際數據庫中顯示這些更改?如果我嘗試在表中插入新條目,則條目將顯示沒有問題。因此,總而言之,通過我的WCF服務中的端點,如果我插入的東西它將顯示在天藍,如果我編輯的東西它不會顯示在Azure中(但更改將可用時調用相應的端點),如果我想刪除某些內容,則不會在Azure中顯示,也不會在調用端點時反映更改。
如果Azure中的數據庫沒有收到任何更改,那麼我在哪裏獲取所有信息?這就像一個緩存數據庫存在的地方,我真的很困惑,原因正在發生。
我很困惑這種奇怪的行爲,所以我希望有人能幫助我。提前致謝。
這是一個拼寫錯誤的問題,數據庫被稱爲sismos_cfe。 –