在 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>
如您所见,我只替换了initial catalog
属性的值,而不是指向 Sismos,它现在应该指向 cfe_sismos。
我遇到的问题是,当我尝试访问处理删除数据库中的条目的端点之一时,数据库中根本没有任何更改。选择条目或编辑/插入条目的操作没有问题。使用initial catalog
Sismos 的属性值,任何端点都没有问题,理论上任何数据库访问都应定向到 cfe_sismos 数据库。
initial catalog
我更换财产价值还不够吗?任何帮助将不胜感激。
编辑
我只是注意到在编辑条目时也存在问题和奇怪的行为,例如,如果我的表用户中有一个条目并且我编辑了 Last_Name,那么当我在 Azure 上检查我的数据库时,更改将不会反映,但是如果我调用返回用户的端点,更改将会出现,我给了一些时间查看是否存在某种延迟,阻止在 Azure 中显示最新值,但它没有显示任何更改。如何在数据库中进行更改而不在实际数据库中显示这些更改?如果我尝试将新条目插入表中,则该条目将毫无问题地显示。
因此,总而言之,通过我的 WCF 服务中的端点,如果我插入一些内容,它将以 azure 显示,如果我编辑一些内容,它将不会显示在 Azure 中(但在调用相应的端点时更改将可用),如果我想删除不会在 Azure 中显示的内容,也不会在调用端点时反映更改。
如果 Azure 中的数据库没有收到任何更改,那么我从哪里获得所有信息?就像某个地方存在缓存数据库一样,我真的很困惑发生这种情况的原因。
我对这种奇怪的行为感到非常困惑,所以我希望有人能帮助我。提前致谢。