c#中如何比较两个连接字符串
本文关键字:两个 字符串 连接 比较 何比较 | 更新日期: 2023-09-27 18:02:56
我在webconfig中有一个默认的connectionstring和一个connectionstring,像这样:
<add name="BAG_Zipcodes" connectionString="Password=;Persist Security Info=True;
User ID=sa;Initial Catalog=e;Data Source=" />
但是如果这个connectionstring不在webconfig中。使用这个:
ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];
所以我这样比较:
var zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];
//zipcodeConnection = ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];
if (zipcodeConnection == ConfigurationManager.ConnectionStrings["BAG_Zipcodes"] && zipcodeConnection != null)
zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];
else if (zipcodeConnection == ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName] && zipcodeConnection != null)
zipcodeConnection = ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];
但是如果我从webconfig中删除这个connectionstring: add name="BAG_Zipcodes
则connectionstring总是null。
谢谢
这可以通过使用coalesce语句来完成。
var zipcodeConnection = (ConfigurationManager.ConnectionStrings["BAG_Zipcodes"])
?? ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];
好的,我是这样解决的:
var zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];
if (zipcodeConnection == ConfigurationManager.ConnectionStrings["BAG_Zipcodes"] && zipcodeConnection != null)
zipcodeConnection = ConfigurationManager.ConnectionStrings["BAG_Zipcodes"];
else if (zipcodeConnection == null)
zipcodeConnection = ConfigurationManager.ConnectionStrings[DbSchema.DefaultConnectionName];