|
XNetCodeGenerator Tool :
FREE .NET C# CODE GENERATOR WINDOWS GUI TOOL
XNetCodeGenerator Object Relational Mapping (ORM) üzerine bir code generator Windows
uygulamasıdır. .Net 2.0 veya 3.5 ve SQL Server 2005 veya SQL Server 2008 için kod
oluşturuyor. Tamamen GUI ve kullanımı çok kolay bir uygulama. Tool’da bir Entity/Class/Tablo’ya
karşılık gelen bir model oluyor. Bu modelden herşey oluşturuluyor. Yine tool’da
proje mantığı var. Bir projedeki tüm modeler için topluca code generation yapabiliyor.
XNetGodeGenerator'ı bu linkden bedava olarak indirip kullanabilirsiniz.
Bu bir Windows 2.0 uygulamasıdır ve ClickOnce özelliğiyle webden kuruluyor. u şekilde yeni güncellemeler olduğunda (yeni versiyon çıktığında) otomatik olarak haberiniz olacak ve isterseniz yeni versiyonu hızlıca yükleyebileceksiniz.
Tool ile alakalı sorularınız ve feedback'leriniz için bana e-mail atabilirsiniz. İsterseniz hotmail hesabımdan da e-mail atabilirsiniz.
XNetCodeGenLibrary kütüphanesini buradan indirip kullanabilirsiniz. XML dosyası ve CHM Help dosyası da beraberindedir.
XML dosyası Visual Studio'da Intelisense için gereklidir.
XNetCodeGenerator’ın genel olarak şu özellikleri var:
1. Tool ingilizce.
2. SQL Server 2005 için data access layer class’ları (C#) ve dll’I generate edilebiliyor.
3. SQL TABLE CREATE sql scriptleri oluşturuluyor. Index ve Foreign Key’ler ile beraber.
4. Her kolon, her türlü veri tipi nullable olarak tanımlanabilir.
5. Windows User Control’ler generate ediliyor. DataBinding kullanılıyor.
6. EntityForm ve ListForm’lar generate ediliyor.
7. UI’da Türkçe ve İngilizce desteği var. Run-time’da tüm ekranlar bir eventle Türkçe
veya İngilizce’ye çevrilebiliyor.
8. LinQ class’larını generate edebiliyor. LinQ class’larını .Net 3.5’da compile
edip dll’ini oluşturabiliyor.
9. SQL Server seviyesinde paging var.
10. Transaction dahilinde yapılıyor database işlemleri.
11. Tool içinde projeden, projedeki tüm modeler için SQL database’i otomatik oluşturabiliyor.
12. Reverse Engineering ile mevcut bir sunucudaki SQL veritabanından model’ler oluşturulabiliyor.
13. Otomatik RowVersioning var. Aynı anda bir kayıt üzerinde çalışanların birbirinin
değişikliğini ezmesine engel oluyor. RowVersionin opsiyonel , isteğe bağlı.
14. Tool generate edilen kodları C# compiler kullanarak compile edebiliyor. (Yani
Visual Studio olmadan bu tool ile projenizdeki modelleri tasarlayıp compile edebiliyorsunuz)
15. Compile edilen dll’leri test edebiliyorsunuz. Reflection yöntemiyle generate
edilen entity’leri görebiliyor ve hatta database’I otomatik oluşturduysanız direk
bilgi girmeye başlayabiliyorsunuz.
16. SQL Server’in desteklediği tüm data tipleri mevcut.
17. Direk resim yazıp okuyabiliyor generated code. Yani System.Drawing.Image tipinde
property oluşturuyor yazıp okuyabiliyorsunuz.
18. Windows User Control’de image (resimler ) için editor var. Bir interface olduğu
için kendi resim editorunuzu de set edebiliyorsunuz.
19. Windows User Control’de binary data için editor var. Bir interface olduğu için
kendi binary data editorunuzu de set edebiliyorsunuz.
20. Direk enum desteği var. Kendi enumlarınızı tanımlayıp direk generated class’lar
içinde bu enumlar tanımlanıyor. Veritabanına long veya int olarak aktarılıyor ama
object model’da enum ve UI’da combobox’ların içini dolduruyor.
21. EntitySet ve EntityRef desteği olduğu için Entity’ler arası ilişki tanımlanabiliyor.
Örneğin Çocuk model’I üzerinde Anne modeline foreign key tanımlanıyor. Anne modeli
üzerinde de Çocuk modeli collection olarak tanımlanabiliyor. Böylece Anne entity’si
okunduğunda tüm çocukları da okunmuş oluyor. Ve Anne üzerinde Çocuk collection üzerinde
değişiklik, ekleme, slime yapılıp tek noktadan transaction dahilinde kaydediebiliyor.
Yine Anne windows control’ü üzerinde Çocuklar tab’I oluşturuluyor ve Çocuklar burada
gridde gösteriliyor. Herhangi bir çocuk satırına çift tıklandığında Çocuk entity
form’u açılıyor ve bu ağaç yapısında bu şekilde devam edebiliyor.
22. Yine EntityRef ilişkisinden bir entity’de diyelim ki Ülke, Şehir, İlçe bilgileri
var. Oluşturulan user control’de bunlar için combobox oluşturulurken bunu göz önüne
alıyor ve Ülke seçtiğinizde o ülkenin şehirleri şehir combobox’ına geliyor. Şehir
seçilince de onun ilçeleri doluyor gibi.
23. EntityRef alanı ister combobox, isterse entity select form ile UI’da doldurulabiliyor.
24. Modelde her tablonun bir ID kolonu olduğu kabulü var (ID long veya int olabilir,
isteğe bağlı).
25. Model’lerde güzel bir validation var. Kullanıcı tanımlama yaparken çok az şeyi
ezbere bilmesi gerekiyor. Ve kullanıcı yönlendiriliyor. Herhangi bi işlem yapıldığında
hata varsa, detaylı ve sorunu çözdürücü hata mesajları veriliyor.
26. LinQToSQL’in yapabildiği herşeyi bu tool ile generate edilen kod da yapabiliyor.
Tek eksiği var o da inheritance ( Discrimination alanından, aynı tablo veya farklı
tablolarda olmak üzere birbirinden inherit eden class’lar)
27. Bu anlattıklarımın hepsi otomatik olarak bir tıkla oluşturuluyor.
28. Generated class’da update yapıldığında SQL Server’a sadece değişen property’ler
için update cümleciği oluşuyor. Ve class’ın Undo metodu var. Property’lerin değerleri
değiştirildikten sonra veri tabanına gitmeden veri tabanından okunan hale obje geri
dönebiliyor.
Not: ASP.Net UI code generation şu an yok ama planlarım arasında var. Vakit bulunca
ekleyeceğim.
|
|