Entity Framework bağladığınızı varsayıyorum.
Adımları buradan devam ettireceğim.
Önce connectionStringimize tüm formların ulaşabileceği bir class tanımlayalım. Ve içerisine public static bir string oluşturalım. Ben clasımın adını "BaglantiBilgileri" koydum.
Class tamamlandığı zaman aşağıdaki gibi olacaktır.
namespace ConsoleApplication1 { class BaglantiBilgileri { public static string demoConnectionString { get; set; } } }
Benim Entity Model imin adı DemoModel.edmx. Solution Explorer altında
DemoModel.Context.cs içerisindeki
public DemoEntities() : base("name=DemoEntities")
metodunu
public DemoEntities() : base(BaglantiBilgileri.demoConnectionString)
olacak şekilde değiştirelim.
Projemizin App.config dosyası içerisinde entity frameworkun oluşturduğu connection string aşağıdaki gibidir.
<connectionstrings>
<add connectionstring="metadata=res://*/DemoModel.csdl|res://*/DemoModel.ssdl|res://*/DemoModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLEXPRESS;initial catalog=Demo;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" name="DemoEntities" providername="System.Data.EntityClient">
</add></connectionstrings>
Dikkat ederseniz daha önce sildiğimiz base("name=DemoEntities") kısmındaki name ile connection string name ifadesi aynıdır. Daha önce sistem web config içerisinde DemoEntities adındaki connection stringi alıyordu. Biz bunun yerine direk class içerisindeki connection stringi alacağız.
Yukarıdaki connectionstring bizim için önemli olan kısım. altı çizili olan ifadeyi kullanacağız. Ama kullanmadan önce " yazan yeri tek tırnak (') ile değiştirelim.
Şimdi kullanacağımız connection string ifademiz ben console uygulaması yaptığım için program.cs içersinde aşağıdaki gibi tanımladım.
BaglantiBilgileri.demoConnectionString = @"metadata=res://*/DemoModel.csdl|res://*/DemoModel.ssdl|res://*/DemoModel.msl;provider=System.Data.SqlClient;provider connection string=';data source=.\SQLEXPRESS;initial catalog=Demo;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework';";
Yukarıdaki işlemleri yaptıktan sonra artık Entity içerisinde yaptığımız işlemler yeni connection stringe göre olacaktır. Bu yüzden istertsek App.config içierisindeki connection string bilgisini silebiliriz. Connection string içerisini kullanacağımız connection stringe göre değiştirebiliriz.