Sql****l.exe, Windows SDK içerisinde gelen araçlardan birisi olup, LINQ to SQL ORM aracına ilişkin kod ve modeli oluşturmak için kullanılır. Fakat çoğu .NET programcısı, LINQ to SQLde entity sınıflarının oluşturulmasında çoğunlukla, projeye eklenen LINQ to SQL Classes'ın dizayn ekranını kullanılıyor olduğundan, Sql****l aracı biraz gözardı edilmiştir.
Sql****l.exe, Visual Studio Command Prompt ile direkt olarak kullanılabilir ve varsayılan olarak aşağıdaki adreste yer alır:
C:\Program Files\Microsoft SDKs\Windows\v.6.0A\bin\Sql****l.exe
Sql****l.exe, Visual Studio Command Prompt ile direkt olarak kullanılabilir ve varsayılan olarak aşağıdaki adreste yer alır:
C:\Program Files\Microsoft SDKs\Windows\v.6.0A\bin\Sql****l.exe
- Veritabanındaki tüm tablolar için Entity sınıfları oluşturmak
sql****l /server:localhost /database:Chinook /code:ChinookDataContext.cs
Böylece çok sayıda tabloya sahip bir veritabanı için entity sınıflarının oluşturulması çok daha kolay hale gelmektedir.
Böylece çok sayıda tabloya sahip bir veritabanı için entity sınıflarının oluşturulması çok daha kolay hale gelmektedir.
- Entity sınıflarını WCF ile servis edilmeye uygun şekilde oluşturmak
sql****l /server:localhost /database:Chinook /serialization:Unidirectional /code:ChinookDataContext.cs
Aynı konfigürasyon, LINQ to SQL Classes dizayn ekranında boş bir yere tıkladıktan sonra açılan Properties listesinde (Property listesi, DataContext nesnesinin propertylerini listelemeli) , Serialization Mode:Unidirectional bildirilerek de yapılabilmektedir.
Aynı konfigürasyon, LINQ to SQL Classes dizayn ekranında boş bir yere tıkladıktan sonra açılan Properties listesinde (Property listesi, DataContext nesnesinin propertylerini listelemeli) , Serialization Mode:Unidirectional bildirilerek de yapılabilmektedir.
![01.jpg](http://www.yazilimgunlugu.com/ArticlePictures/847/01.jpg)
- Entity sınıfları ortak bir tipten kalıtmak ve böylelikle tüm sınıflara ortak üyeler kazandırmak
sql****l /server:localhost /database:Chinook /code:ChinookDataContext.cs /entitybase:MyBaseClass
/entitybase niteliğiyle tüm entity sınıfları ortak bir sınıftan kalıtılabilir. Böylece, tüm entity sınfılarına ortak bir takım üyeler de base class aracılığıyla eklenebilir.
/entitybase niteliğiyle tüm entity sınıfları ortak bir sınıftan kalıtılabilir. Böylece, tüm entity sınfılarına ortak bir takım üyeler de base class aracılığıyla eklenebilir.
- Veritabanında bulunan tüm view,function ve stored procedure nesnelerini modele dahil etmek
sql****l /server:localhost /database:Chinook /code:ChinookDataContext.cs /views /functions /sprocs
Tablolar ile birlikte function, stored procedure ve view nesneleri için de gerekli kodları ilave etmektedir.
Tablolar ile birlikte function, stored procedure ve view nesneleri için de gerekli kodları ilave etmektedir.
- Tablo isimlerinin çoğul hale getirimesi
sql****l /server:localhost /database:Chinook /code:ChinookDataContext.cs /pluralize
Normalde Sql****lın çoğullaştırmadığı property isimlerinin otomatik olarak çoğul hale getirilmesi için /pluralize parametresi eklenmelidir.
Normalde Sql****lın çoğullaştırmadığı property isimlerinin otomatik olarak çoğul hale getirilmesi için /pluralize parametresi eklenmelidir.
- Sql****lı tekrarlı kullanımlarda daha kullanışlı hale getirmek için batch dosyası oluşturmak
Bir text dosyası açarak içine aşağıdakileri yazdıktan sonra .bat uzantısıyla kaydedilir:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\Sql****l.exe /server:localhost /database:Chinook /code:%~dp0ChinookDataContext.cs
Böylelikle batch dosyamız her çalışmasında, Sql****l.exeyi çalıştıracak ve entity sınıflarımız güncellenecektir.
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\Sql****l.exe /server:localhost /database:Chinook /code:%~dp0ChinookDataContext.cs
Böylelikle batch dosyamız her çalışmasında, Sql****l.exeyi çalıştıracak ve entity sınıflarımız güncellenecektir.
- Sql****l aracını bir arayüz ile kullanmak
Sql****l.exe, komut satırı yerine bir windows arayüzüyle de kullanılabilir. Bu iş için, Confidentialité- Franceadresinden indirilebilen Sql****l Builder uygulamasını yüklemenizi tavsiye ederim. Aşağıda ekran görüntüsü bulunan uygulama, özetle, Sql****lı execute ederken verilmesi gereken komut satırı parametrelerini bir windows arayüzünden alarak, geliştiriciye kolaylık sağlamaktadır.
![02.jpg](http://www.yazilimgunlugu.com/ArticlePictures/847/02.jpg)