Bu makalemde .NET Framework 3.5 SP1 ile aramıza katılan Dynamic Data Web Site'dan bahsedeceğim size.
Öncelikle işe nedir bu diye başlayalım. En iyi örnekleme yöntemi ile açıklanır bende örnekleme yöntemi ile anlatayım.
Önceden web sitesi yaparken herşey yönetim paneli yapmaya gelene kadar çok iyi giderdi :) Sitenin ön şablonu oluşturulur, sayfalar ayarlanır, veritabanı bağlantıları yapılır, veriler çekilirdi. Daha sonra kullanıcının siteye verileri eklemesi için hazırlanması gereken yönetim paneline gelince işte orda üflemeler sıkılmalar ve poflamalar başlardı. Tabiki bu her site için yönetim paneli hazırlamak zorunda kalanların şablonları da yoksa tam bir işkence haline gelirdi.
Sanırım Microsoft bu çığırtkanlıkları duymuş olsa gerek ki 3.5 SP1 de Visual Studio'ya Dynamic Data Web Site diye birşey ekledi. Peki ne işe yarıyordu bu DDWS(Dynamic Data Web Site) ?DDWS bize hazır olan veritabanımızdan bir Yönetim Paneli çıkarıyor. Evet yanlış duymanız hazır olan veritabanımızdan bize çok güzel bir Yönetim Paneli çıkarıyor. Ayrıca bu yönetim paneli düzenlenebilir ve ayarlaması tamamen sizin tarafınızda olabilecek birşey. Dilerseniz default halini kullanır dilerseniz de kendinize göre düzenleyebiliriniz. Şablon bir yapı ve istediğiniz gibi sündürebileceğiniz bir halde.
Evet bu kadar bilgiden sonra gelelim bu işi nasıl gerçekleştireceğimize...
SP 1'imizin kurulu olduğunu varsayıyorum ve yoluma devam ediyorum.
1.Adım : File > New Web Site komutunu veriyorum ve Dynamic Data Web Site'ı seçiyorum, ok butonuma basıyorum ve sitem oluşuyor.
Bize sol tarafta görüldüğü Default klasörlerini oluşturdu. Bunlardan kısaca söz etmek gerekirse;
DynamicData : Bu klasörde DDWS 'nin Yönetim Paneli şablon dosyaları bulunuyor.
Site.css : Stillendirme dosyası
Global.asax : Dynamic data için gerekli tanımlama satırlarını burda gerçekleştireceğiz.
Site.master : Dynamic data'nın ana şablon dosyası
2.Adım : Bundan sonrası için bize bir veritabanı gerekiyor. İsterseniz veritabanınızı oluşturabilir isterseniz de var olan bir veritabanı kullanabilirsiniz. Ben Blogsa'nın veritabanını kullanacağım.
3.Adım : Projemize sağ tuş ile tıklayalım Add New Item komutunu verip LINQ to SQL Classes komutunu verelim.

4.Adım : Daha sonra veritabanı tablolarımızı tasarım ekranımıza sürüklüyoruz. Daha sonra tasarım ekranımızı kaydedip kapatıyoruz.

5.Adım : Şimdi Global.asax dosyamızı açıyoruz ve aşağıdaki satırı buluyoruz. Bu satır Comment edilmiş şekilde bunu UnComment yapacağız ve düzenleyeceğiz.
//model.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });
Ben dbml dosyama Blogsa ismini vermiştim, benim DataContext'imin ismi BlogsaDataContext olduğu için YourDataContextType yazan yere BlogsaDataContext yazıyorum ve ScaffoldAllTables 'ı true 'ya çeviriyorum.
model.RegisterContext(typeof(BlogsaDataContext), new ContextConfiguration() { ScaffoldAllTables = true });
Benim satırım yukarıdaki hali aldı. Siz de kendinize göre düzenleyin.
6.Adım : Son adım artık F5'e basın ve projenizi test edin. Sorunsuz bir şekilde adımları uyguladıysanız başarmışsınız demektir :)
Çalıştırdığımızda aşağıdaki gibi bir görüntü ile karşılaşıyoruz.

Gördüğünüz gibi Tablolarım listelenmiş. Şimdi düzenlemek istediğim tablo'ya tıklıyorum. Ben Terms'e tıkladım.

Evet şimdi aşağıdaki şablon'a bir bakalım neler varmış.

En başta Tablomuzun adı, ikinci bölümde tablomuzun kolonları, satırlarda sol tarafta işlem menüsü, en altta sol tarafta Sayfalama ve sağ tarafta sayfa başına gösterilen veri sayısı, ve daha da altta sol tarafta da yeni Item eklemek için bölüm bulunuyor. Bunların hepsini şablon dosyalarından düzenleyebiliyorsunuz.
Insert new item'e tıkladığımda;

Edit'e tıkladığımda;

Delete tıkladığımda ise bana soruyor silmek istermisin diye :) Herşeyi düşünmüşler sağolsunlar :)

Evet herşey böyle.
Bir sonraki makale de şablonu düzenleme hakkında bilgiler vereceğim inşallah.
Faydalı olaması dileği Selametle...