Toon posts:

[.NET] Free data-access generator released

Pagina: 1
Acties:

Verwijderd

Topicstarter
Na veel te lang proggen heb ik LLBLGen, mn data-access tier generator voor C# / VB.NET / SQLServer dan eindelijk kunnen tillen naar versie 1.1!

Net zoals versie 1.0 is de tool nog steeds open source, geschreven in C# en gratis. Een greep uit de features (engels, ga het niet allemaal vertalen ;))


• Generates Insert, Delete, Delete by Primary Key field, Select by Primary Key, SelectAll, Select By Foreign Key field, Update and Update by Foreign Key field stored procedures for all tables in a given database
• Generates full C# or VB.NET classes, one per table, which use the stored procedures generated to insert/update/select or update data in the corresponding table
• Generates extensive comments both for the C# / VB.NET classes and stored procedures on the fly, if selected
• Generated code is modelled after real life hand written production code, so extensible and reliable.
• Very fast (generation of a complete data-tier takes a couple of seconds)
• Very flexible generator, the user can tune the generation process by an easy to use GUI.
• Generated .NET classes and stored procedures support NULL values, plus the generated API has boundary checks for passed values.
• .NET code generator supports COM+ serviced component features so generated classes can be used as COM+ serviced components and can use most COM+ services like object pooling and transactions
• Multiple .NET coding styles are supported (both Hungarian Style and Microsoft caMel/PasCal style).
• Multiple ways of passing the database connection string to the generated code.
• Which tables should be processed by LLBLGen is selectable by the user.
• Support for excluded fields in Insert and Update stored procedures, selectable by the user.
• Generated .NET code uses a standard interface, ICommonDBAccess.
• Generated .NET code is optimized for garbage collection and implements the IDispose interface.
• Generated .NET code is ready for compilation and the generated T-SQL code.
• Generated .NET methods have error handling code and efficient usage of resources.
• All SQLServer database types are supported.
• Much better documentation!

Alle feedback van jullie op de vorige versie (zie http://gathering.tweakers.net/forum/list_messages/477136/1?limit=25) is verwerkt plus dus een hele verzameling extra zaken. Ik hoop dat deze tool voor jullie erg nuttig zal zijn, hier bespaart ie in ieder geval al zeeën van tijd :)

Mochten jullie bugs vinden of opmerkingen hebben, dan hoor ik ze graag en kan ik deze a.s.a.p. fixen en de features inbouwen indien nuttig. De sourcecode zip bevat ook de todo, dus die dingen hoef je niet te requesten, die komen a.s.a.p. :)

General site: http://www.sd.nl/software
Directe download .exe + docs (.NET vereist): http://www.sd.nl/pages/files/LLBLGen_1.1_Final_Exe.zip
Directe download sourcecode (C#): http://www.sd.nl/pages/files/LLBLGen_1.1_Final_Src.zip

Verwijderd

Joepie :). Ik zat me al af te vragen wanneer de update zou komen ;).
Het feature lijstje begint er al erg professioneel uit te zien :).

Mischien was het al mogelijk, maar heb ik er overheen gekeken, maar is het ook mogelijk om met een select statement (dat 1 record teruggeeft) rechtstreeks de properties van het object te vullen?

Verwijderd

Topicstarter
Op vrijdag 21 juni 2002 09:37 schreef KoenM het volgende:
Joepie :). Ik zat me al af te vragen wanneer de update zou komen ;).
Het feature lijstje begint er al erg professioneel uit te zien :).
:) Mja, als je al zo lang professioneel software bouwt, dan kun je voor je vrije tijd projecties niet meer op een freubelmanier te werk gaan. :) De update duurde inderdaad veel te lang, maar de features die er nu in zitten ben ik wel blij mee, alhoewel ik zeker nog een aantal wil toevoegen.
Mischien was het al mogelijk, maar heb ik er overheen gekeken, maar is het ook mogelijk om met een select statement (dat 1 record teruggeeft) rechtstreeks de properties van het object te vullen?
Dit is punt 2 op de todo list :D. Ik zie de noodzaak niet zo, maar een aantal mensen hebben er om gevraagd, dus prak ik die code erbij in de volgende release.

Verwijderd

Op vrijdag 21 juni 2002 10:29 schreef Otis het volgende:
Dit is punt 2 op de todo list :D. Ik zie de noodzaak niet zo, maar een aantal mensen hebben er om gevraagd, dus prak ik die code erbij in de volgende release.
Mooi :). Het lijkt me gewoon ontzettend makkelijk, anders moet je nog steeds in de DataTable kijken om je data op te halen...

/me is nu best wel nieuwsgierig naar nummer 1 op je TODO lijst

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op het moment zal ik niet iemand zijn die deze tool gaat gebruiken, of zelfs maar op waarde kan schatten, maar als ik naar de lijst met features kijk en inschat welke moeite dat gekost heeft, dan neem ik m'n petje af voor je :)

Verwijderd

Topicstarter
Op vrijdag 21 juni 2002 10:35 schreef KoenM het volgende:
[..]
Mooi :). Het lijkt me gewoon ontzettend makkelijk, anders moet je nog steeds in de DataTable kijken om je data op te halen...
Dat klopt, het voordeel van de datatable is wel weer dat je die kunt binden aan een control, bv een webcontrol dat alle velden van een record weergeeft.
/me is nu best wel nieuwsgierig naar nummer 1 op je TODO lijst
Dat is support voor ADO.NET transactions. Dus dat er een extra connection provider object gecreeerd wordt dat methods heeft als 'begintransaction()' etc, en dat je doorgeeft aan de data-access tier objects. Die op hun beurt gebruiken dan de open connection object van de connection provider. Zodoende kun je op een hoger level transactions sturen binnen je data-access tier, zonder geneuzel met connection objects, want daar wil je in hogere lagen niet mee bezig zijn. Je vermijdt dan ook de COM+ transactions in .NET die een factor 10 trager zijn dan VB6 COM+ transactions... :)

Verwijderd

Topicstarter
Op vrijdag 21 juni 2002 10:36 schreef Glimi het volgende:
Op het moment zal ik niet iemand zijn die deze tool gaat gebruiken, of zelfs maar op waarde kan schatten, maar als ik naar de lijst met features kijk en inschat welke moeite dat gekost heeft, dan neem ik m'n petje af voor je :)
Dank je :)

Ik moet wel zeggen dat het geen moment een klote project is geweest, ook op het eind niet. (het was mn .NET leerproject). Wat wel een beetje naar was, was het moment dat ik de CodeDom namespace ontdekte in de .NET API, terwijl ik de C# emitter al af had. Maar goed, gedane zaken nemen geen keer :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Otis: was het moment dat ik de CodeDom namespace ontdekte in de .NET API, terwijl ik de C# emitter al af had.
Hehe ;) . Das zonde van het werk idd. De CodeDom vind ik erg leuk, vooral omdat er nu tenminste een standaard abstract syntax tree is voor C#. Dit is een goede stap omdat zo alle meta tools beter kunnen samenwerken en er minder serializatie stappen nodig zijn. In veel andere meta omgeving (zoals bijvoorbeeld XT, Stratego, ASF+SDF) zie je al een tijd dat een standaard signatuur/ast/codedom erg nuttig kan zijn voor de uitwisseling van de data-structuren tussen meta-tools.

Helaas moet er nog wel veel verbeterd worden: Als je een CodeDOM gaat compileren wordt hij bijvoorbeeld eerst ge-pretty-print en daarna door de compiler weer geparsed :( . Zeker voor runtime generatie van code is dat natuurlijk niet leuk....

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1