Ik heb een tijd geprogrammeerd op school binnen Java. Nu moet ik voor mijn stage een product ontwikkelen in VB.NET echter heb ik een tijdje terug te horen verder te kijken dan de bekende Hibernate voor Java.
Destijds wat eenvoudig gekeken naar NHibernate, naar LINQ en Entity manager stond me niet echt aan omdat ik vanuit mijn code mijn database wil genereren eigenlijk.
Ik heb op internet rond gezocht en ben de onderstaande mogelijkheden tegen gekomen, maar kan nog niet echt een keuze maken omdat ik vele van deze niet ken. Indien iemand van jullie iets kan aanvullen graag..
Ik zal dit bericht dan aanpassen om een goede keuze te kunnen maken.
Wensen die ik eigenlijk heb:
- [Edit 09:13 31 mrt 2010] Gratis anders wordt de ontwikkeling van het product al snel te duur
- Geen database ontwikkeling
- Relation Mapping eventueel dmv annotations of liever nog automatisch
- JOIN`s automatisch niet bij Query vereist
- Geen eigen SQL queries nodig maar d.m.v. code functies
- Volledig geschikt voor .NET
- Mutaties aan de klasses ook automatisch doorvoeren in de databases van de client bij uitrollen apps
NHibernate http://www.nforge.org en http://www.hibernate.org
- Database kan worden gegenereerd vanuit de klasses
- Relaties binnen modellen mogelijk
- Code kan worden voorzien van annotaties, dus geen XML vereist en dus alles bij een object klasse
- Ze zijn al bekend met de ontwikkeling van Hibernate in Java
- Gratis
- Extra mapping ipv de annotations (weet niet wat hiervan het voordeel is) http://www.fluentnhibernate.org
- Ondersteund LINQ (maar ook hiervan weet ik niet wat het voordeel is, ik zoek via Hibernate functies namelijk
- [Edit 09:13 31 mrt 2010] Probleem bij mutaties in de database, wanneer veld switcht tussen nullable en not nullable wordt dat niet overgenomen bv
BL Toolkit http://www.bltoolkit.net
- Er is eigenlijk maar één programmeur die heel de code onderhoud (op enkele aanpassingen door andere na)
- Code wordt nog wel bijgewerkt, laatste aanpassing 27 maart 2010 geweest
- Blijkt in de performace test van ormbattle.net een van de beste te zijn
Entity Framework http://msdn.microsoft.com/en-us/library/bb399572.aspx
- 3.0 heeft nog geen mogelijkheid voor het genereren van een database bij klasses
- 4.0 heeft dat wel maar is alleen beschikbaar in VS2010 en is nog in Beta
- Combinatie met LINQ mogelijk
Data Object .NET http://www.netdataobjects.com
- GPL Licentie (dus bij verkoop aan externe partijen, verplicht de code vrij te geven) [betaald dus]
- Werkt met annotaties
- Zowel Database als Code kan worden gegeneerd, echter enkel vanaf een Add-in in Visual studio
Subsonic http://www.subsonicproject.com
- Mogelijk met LINQ
- Database genereren vanuit de code (ook bij eventuele aanpassingen in de code)
- Databases ondersteund: SQL 2008, SQL 2005, MySQL, SQLite
- Alleen beschikbaar voor .NET
- Versie 3.0 vereist .NET 3.5, oudere versies vereisen .NET 2.0
- Volgens iemand op stack trace slecht met relationele modelen http://stackoverflow.com/...-persistence-layer-advice
- Volgens ormbattle.net erg slechte performance
- [Edit: 12:27 2 apr 2010] Enkel geschikt voor C#, levert problemen binnen VB
Rapid Entity Framework http://rapidentityframework.codeplex.com
- Databases ondersteund: SQL 2008, SQL 2005, SQL 2000, SQL Express, Access, Oracle, MySQL , IBM DB2, SQLite 3
- Programmeer talen: .NET en Java
- Code wordt gegenereerd a.h.v. de database
- Geintegreerd in Visual Studio (template)
LLBL Gen Pro http://www.llblgen.com
- Betaald pakket (per licentie)
- Goede support gelezen op een stack trace
- [Edit 11:17 31 mrt 2010] Databases ondersteund: MSSQL, Oracle, PostgreSQL, Firebird, MSAccess, MySQL, IBM DB2, SQLCE, Sybase
- [Edit 11:17 31 mrt 2010] Tool voor genereren van objecten etc vanaf database
- Maping met datagrid, etc.
MyGeneration http://www.mygenerationsoftware.com
- Laatste versie was uit 6 oktober 2008, dit is ook verouderd
LINQ to SQL http://msdn.microsoft.com/en-us/library/bb386976.aspx
- Dit is verouderd en wordt niet meer onderhouden is me verteld
DB4O http://www.db4o.com
- Als ik het goed begrijp kan deze enkel werken met eigen gegenereerde bestanden als database
Aspectsze http://www.aspectize.com
- Dit is een frans bedrijf, de site is maar heel weinig in het engels
- Op internet niet echt goede tutorials of dergelijke van gevonden
Telerik Open Acces ORM http://www.telerik.com
- Visual studio 2010 ready wordt vermeld
- Standaard betaald, gratis (express) versie mogelijk
- Zowel genereren van code als genereren van database mogelijk
Versant Object Database http://www.versant.com
- Genereren van database ahv classes
- Extra modules denk hierbij bv aan synchronisatie
- Programmeer talen: C++, Java, .NET (VB, C#, etc.), Phyton, C
- Geintegreerd in Visual Studio
- Cache voor hogere snelheid
Entity Spaces http://www.entityspaces.net
- Geintegreerd in Visual Studio
- Classes genereren ahv de database
- Ik heb het introductie filmpje op hun site bekeken en vind het nog al vele individuele stappen
- Databases ondersteund: MSSQL, SQLCE, Access, VistaDB, ProgreSQL, SybaseSQL, SQL Lite
- Betaald pakket
- Mogelijke combinatie met LINQ
Entity Developer http://www.devart.com/entitydeveloper
- Betaald pakket
- Combinatie mogelijk met: LINQ en Entity Framework
- Databases ondersteund: MSSQL, MySQL, Oracle, PostreSQL, SQL Lite
- Addon voor Visual Studio
Lightspeed http://www.mindscape.co.nz/products/lightspeed
- Betaald (Een express versie, die alleen tot 8 classes aan kan)
- Ondersteund LINQ
- Migratie van database ingebouwd
- Porgrammeren van classes onnodig, worden ook gegenereerd uit de tekening
- Geintegreerd als Addon in visual studio
- Enkele eenvoudige filmpjes op de site
[Edit 09:13 31 mrt 2010] Dit is een nieuwe toevoeging
Castle Project Active Record http://www.castleproject.org
- Gebaseerd op Hibernate
- Database genereerbaar vanuit classes
- Relationele verbindingen dmv annotaties aangeven
? Hoe genereerd hij de functies FindByUsername ?
[Edit 09:30 31 mrt 2010] Dit is een nieuwe toevoeging
DevExpress eXpress Persistent Objects http://www.devexpress.com
- Ondersteund Visual studio 2005 en 2008
- Betaald (Aanschaf kosten + Onderhoud)
- Verbindbaar met datagrids
- Associaties vanuit de code (relaties)
- Queries vanuit de code
- Databases ondersteund: MSSQL, Access, PostgreSQL, VistaDB, DB2, MySQL, Firebird, SQL Anywhere, Sybase, Oracle 9i, Pervasive, Advantage Database, SQLite 3
[Edit 11:17 31 mrt 2010] Dit is een nieuwe toevoeging
Migrator .NET http://code.google.com/p/migratordotnet
- Databases ondersteund: MySQL, Oracle, PostgreSQL, SQLite, SQL 2000/2005/CE
- Meer gericht op migraties, wat de database mutaties zijn bij up/down grade van versies
- Niet gericht op verwerking van data (dus geen echte ORM)
- Database maken vanaf de code
- Laatste release Februari 2009
Mochten jullie aanvullingen hebben hoor ik het graag? Mochten jullie advies hebben wat voor mij de beste oplossing is omdat er dingen bij staan die ik niet geschreven heb hoor ik het ook graag.
Destijds wat eenvoudig gekeken naar NHibernate, naar LINQ en Entity manager stond me niet echt aan omdat ik vanuit mijn code mijn database wil genereren eigenlijk.
Ik heb op internet rond gezocht en ben de onderstaande mogelijkheden tegen gekomen, maar kan nog niet echt een keuze maken omdat ik vele van deze niet ken. Indien iemand van jullie iets kan aanvullen graag..
Ik zal dit bericht dan aanpassen om een goede keuze te kunnen maken.
Wensen die ik eigenlijk heb:
- [Edit 09:13 31 mrt 2010] Gratis anders wordt de ontwikkeling van het product al snel te duur
- Geen database ontwikkeling
- Relation Mapping eventueel dmv annotations of liever nog automatisch
- JOIN`s automatisch niet bij Query vereist
- Geen eigen SQL queries nodig maar d.m.v. code functies
- Volledig geschikt voor .NET
- Mutaties aan de klasses ook automatisch doorvoeren in de databases van de client bij uitrollen apps
NHibernate http://www.nforge.org en http://www.hibernate.org
- Database kan worden gegenereerd vanuit de klasses
- Relaties binnen modellen mogelijk
- Code kan worden voorzien van annotaties, dus geen XML vereist en dus alles bij een object klasse
- Ze zijn al bekend met de ontwikkeling van Hibernate in Java
- Gratis
- Extra mapping ipv de annotations (weet niet wat hiervan het voordeel is) http://www.fluentnhibernate.org
- Ondersteund LINQ (maar ook hiervan weet ik niet wat het voordeel is, ik zoek via Hibernate functies namelijk
- [Edit 09:13 31 mrt 2010] Probleem bij mutaties in de database, wanneer veld switcht tussen nullable en not nullable wordt dat niet overgenomen bv
BL Toolkit http://www.bltoolkit.net
- Er is eigenlijk maar één programmeur die heel de code onderhoud (op enkele aanpassingen door andere na)
- Code wordt nog wel bijgewerkt, laatste aanpassing 27 maart 2010 geweest
- Blijkt in de performace test van ormbattle.net een van de beste te zijn
Entity Framework http://msdn.microsoft.com/en-us/library/bb399572.aspx
- 3.0 heeft nog geen mogelijkheid voor het genereren van een database bij klasses
- 4.0 heeft dat wel maar is alleen beschikbaar in VS2010 en is nog in Beta
- Combinatie met LINQ mogelijk
Data Object .NET http://www.netdataobjects.com
- GPL Licentie (dus bij verkoop aan externe partijen, verplicht de code vrij te geven) [betaald dus]
- Werkt met annotaties
- Zowel Database als Code kan worden gegeneerd, echter enkel vanaf een Add-in in Visual studio
Subsonic http://www.subsonicproject.com
- Mogelijk met LINQ
- Database genereren vanuit de code (ook bij eventuele aanpassingen in de code)
- Databases ondersteund: SQL 2008, SQL 2005, MySQL, SQLite
- Alleen beschikbaar voor .NET
- Versie 3.0 vereist .NET 3.5, oudere versies vereisen .NET 2.0
- Volgens iemand op stack trace slecht met relationele modelen http://stackoverflow.com/...-persistence-layer-advice
- Volgens ormbattle.net erg slechte performance
- [Edit: 12:27 2 apr 2010] Enkel geschikt voor C#, levert problemen binnen VB
Rapid Entity Framework http://rapidentityframework.codeplex.com
- Databases ondersteund: SQL 2008, SQL 2005, SQL 2000, SQL Express, Access, Oracle, MySQL , IBM DB2, SQLite 3
- Programmeer talen: .NET en Java
- Code wordt gegenereerd a.h.v. de database
- Geintegreerd in Visual Studio (template)
LLBL Gen Pro http://www.llblgen.com
- Betaald pakket (per licentie)
- Goede support gelezen op een stack trace
- [Edit 11:17 31 mrt 2010] Databases ondersteund: MSSQL, Oracle, PostgreSQL, Firebird, MSAccess, MySQL, IBM DB2, SQLCE, Sybase
- [Edit 11:17 31 mrt 2010] Tool voor genereren van objecten etc vanaf database
- Maping met datagrid, etc.
MyGeneration http://www.mygenerationsoftware.com
- Laatste versie was uit 6 oktober 2008, dit is ook verouderd
LINQ to SQL http://msdn.microsoft.com/en-us/library/bb386976.aspx
- Dit is verouderd en wordt niet meer onderhouden is me verteld
DB4O http://www.db4o.com
- Als ik het goed begrijp kan deze enkel werken met eigen gegenereerde bestanden als database
Aspectsze http://www.aspectize.com
- Dit is een frans bedrijf, de site is maar heel weinig in het engels
- Op internet niet echt goede tutorials of dergelijke van gevonden
Telerik Open Acces ORM http://www.telerik.com
- Visual studio 2010 ready wordt vermeld
- Standaard betaald, gratis (express) versie mogelijk
- Zowel genereren van code als genereren van database mogelijk
Versant Object Database http://www.versant.com
- Genereren van database ahv classes
- Extra modules denk hierbij bv aan synchronisatie
- Programmeer talen: C++, Java, .NET (VB, C#, etc.), Phyton, C
- Geintegreerd in Visual Studio
- Cache voor hogere snelheid
Entity Spaces http://www.entityspaces.net
- Geintegreerd in Visual Studio
- Classes genereren ahv de database
- Ik heb het introductie filmpje op hun site bekeken en vind het nog al vele individuele stappen
- Databases ondersteund: MSSQL, SQLCE, Access, VistaDB, ProgreSQL, SybaseSQL, SQL Lite
- Betaald pakket
- Mogelijke combinatie met LINQ
Entity Developer http://www.devart.com/entitydeveloper
- Betaald pakket
- Combinatie mogelijk met: LINQ en Entity Framework
- Databases ondersteund: MSSQL, MySQL, Oracle, PostreSQL, SQL Lite
- Addon voor Visual Studio
Lightspeed http://www.mindscape.co.nz/products/lightspeed
- Betaald (Een express versie, die alleen tot 8 classes aan kan)
- Ondersteund LINQ
- Migratie van database ingebouwd
- Porgrammeren van classes onnodig, worden ook gegenereerd uit de tekening
- Geintegreerd als Addon in visual studio
- Enkele eenvoudige filmpjes op de site
[Edit 09:13 31 mrt 2010] Dit is een nieuwe toevoeging
Castle Project Active Record http://www.castleproject.org
- Gebaseerd op Hibernate
- Database genereerbaar vanuit classes
- Relationele verbindingen dmv annotaties aangeven
? Hoe genereerd hij de functies FindByUsername ?
[Edit 09:30 31 mrt 2010] Dit is een nieuwe toevoeging
DevExpress eXpress Persistent Objects http://www.devexpress.com
- Ondersteund Visual studio 2005 en 2008
- Betaald (Aanschaf kosten + Onderhoud)
- Verbindbaar met datagrids
- Associaties vanuit de code (relaties)
- Queries vanuit de code
- Databases ondersteund: MSSQL, Access, PostgreSQL, VistaDB, DB2, MySQL, Firebird, SQL Anywhere, Sybase, Oracle 9i, Pervasive, Advantage Database, SQLite 3
[Edit 11:17 31 mrt 2010] Dit is een nieuwe toevoeging
Migrator .NET http://code.google.com/p/migratordotnet
- Databases ondersteund: MySQL, Oracle, PostgreSQL, SQLite, SQL 2000/2005/CE
- Meer gericht op migraties, wat de database mutaties zijn bij up/down grade van versies
- Niet gericht op verwerking van data (dus geen echte ORM)
- Database maken vanaf de code
- Laatste release Februari 2009
Mochten jullie aanvullingen hebben hoor ik het graag? Mochten jullie advies hebben wat voor mij de beste oplossing is omdat er dingen bij staan die ik niet geschreven heb hoor ik het ook graag.
[ Voor 10% gewijzigd door Josvds op 02-04-2010 12:27 . Reden: Toevoeging ]