Linq to Sql dosyasında (dbml) yeniden database oluşturma nasıl gerçekleştirilir?

Ocak 2012 | Ahmet Faik, Yazılım Geliştirme Uzmanı
Bilgisayarınıza format attığınızda ya da herhangi bir şekilde Sql server üzerindeki veritabanınızın kayboldu fakat dbml Schema duruyor. Bunu kurtarma şansı var mı sorusundan yola çıkarak bir araştırma yaptım. Sorunun cevabı elbetteki 'Kurtarabilirsiniz!'. Entity framework ile bir kaç mouse tıklaması yaparak kolayca elde edebileceginiz veritabanı scriptini Linq to Sql ile bir kaç satır kod yazarak yeniden oluşturabilirsiniz.

İlk dikkat etmeniz konu Sql server bilgileriniz ile dbml dosyası içerisindeki connection bilgileri aynı olmalıdır. Daha sonra projenizde herhangi bir method oluşturarak içerisine dbml dosyanızın
designer.cs kod kısmındaki
datacontext ismi ile aynı isimde bir
Instance oluşturun ve
createdatabase methodunu cağırarak kaybolan veritabanınızı kurtarın.

Örnek kodlar aşağıdadır;



public void reCreateDatabase()
{
datacontext db = new datacontext();// DataContext Adı
db.CreateDatabase(); // Veritabanını SqlServer'da oluşturacak kod satırı
}


Bu kod satırı çalıştırıldığında veritabanı eski yerine gelmiş olacaktır. Umarım SqlServer içerisindeki eski ayarlarınız sizi fazla uğraştırmaz. Bunun nasıl yapılacagınıda anlatmak isterdim ama her bilgisayar için farklı olacagından bu konuda malesef tek başınızasınız :)