Web siteme hoş geldiniz. Web sitesi üzerinde hala çalışıyorum. Yakında burada çok daha güzel bir site bulacaksınız.
Herşey gönlünüzce olsun ve tüm güzellikler sizin olsun.

XNetCodeGenerator Tool sayfasını mutlaka ziyaret edin ve tool'u deneyin lütfen. Feedback'lerinizi beklerim.


Skip Navigation Links.
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.


(c) Huseyin Koyun 2008