EntityFrameworkを.net MVCで使う場合、Web.Configに↓の感じで接続文字列を設定しておく。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=***********;Initial Catalog=HOGEDB;Persist Security Info=True; User ID=sa;Password=xxxxxx" providerName="System.Data.SqlClient" />
</connectionStrings>
で、EFは使い勝手はそこそこいいんだけど、個別にDBにつないで自分でやりたい場合もある。その場合に、この接続文字列を取得したい。やり方は色々あると思うけど、Web。Configの中身を直で持ってくるやり方。
string wkStr = "";
for (int i = 0; i < System.Configuration.ConfigurationManager.ConnectionStrings.Count; i++)
{
if (System.Configuration.ConfigurationManager.ConnectionStrings[i].Name == "DefaultConnection")
{
wkStr = System.Configuration.ConfigurationManager.ConnectionStrings[i].ConnectionString;
break;
}
}
設定が複数ある場合もあるので、接続名指定して取得する。色々試してみて、これしかやりようなかった。他に何かいい方法ないかしら。。。
「System.Configuration.ConfigurationManager.ConnectionStringst」ってforeach出来ないのね。Whereとかも使えない。IEnumにどーにかできないものだろうか。