Geavanceerde NoSQL persistentie met RavenDB

RavenDB is een document database gebouwd in .Net en ook primair gericht op het .Net platform. Het valt onder de NoSQL categorie en is qua opzet enigszins vergelijkbaar met CouchDB. In RavenDB werk je niet met tabellen en relaties maar met documenten (een JSON representatie van een object of objectboom). In de basis kun je […]

Lees meer >>

Gebruik geen GUIDs in NHibernate

Iedere tabel heeft een primaire sleutel. De vraag is wat bepaalt deze waarde? Er wordt vaak gebruik gemaakt van een GUID, maar er is een beter alternatief beschikbaar. NHibernate is een Object-Relational-Mapper. Het enige doel van een ORM is om alles dat specifiek is voor een relationeel model, niet in je code hoeft te staan. […]

Lees meer >>

Modelgedreven ontwikkelstraat in .NET (7): Objectbrowser

Deze post ga ik wat dieper in op user interface logica, in dit geval een typisch Windows Forms geval; browsertjes / gridjes met objecten. Vaak wordt in de Dotnet wereld databinding gebruikt om lijsten van objecten in grids te tonen. Dat werkt prima, als je tot een paar duizend items in je lijst hebt zelfs uitstekend. In echte […]

Lees meer >>

Modelgedreven ontwikkelstraat in .NET (5): Data Adapter

Eerder schreef ik over verschillende aspecten voor het samenstellen van implementaties van domeinobjecten op basis van een UML model. Vervolgens heb ik gedemonstreerd hoe je op basis van ditzelfde model een database schema kan genereren dat hierbij aansluit. Ik zal in deze post ingaan op de ‘tussenlaag’; hoe lepel ik mijn objecten uit een database […]

Lees meer >>

Modelgedreven ontwikkelstraat in .NET (4): Data

Tot nu toe heb ik in deze serie postings laten zien hoe je verschillende aspecten van je model kunt omzetten in code die vaak aangeduid wordt met ‘domain classes’. In gangbare ontwikkelstructuren vindt je deze classes terug in een eigen component of laag die aangeduid wordt met ‘domain layer’ of iets dergelijks. De verschillende thema’s die […]

Lees meer >>

Object Identity

Iets dat in de meeste platformen heden ten dage op het eerste gezicht goed geregeld is is het concept van object identity. In feite is dit onder water de pointer die we toewijzen (reference) aan bijvoorbeeld variabelen in onze code. Een object bevindt zich op een bepaalde plaats in het geheugen en dat is daarmee […]

Lees meer >>

Normaliseren

Normaliseren van relationele tabellen, hoe zit het ook al weer? Anomalieën Waarom willen we eigenlijk normaliseren? Als je wilt voorkomen dat er fouten kunnen onstaan bij het updaten van gegevens in een database, zul je ervoor moeten zorgen dat je tabellen zodanig zijn ingericht dat er geen update-anomalieën kunnen ontstaan. Er zijn drie soorten anomalieën: […]

Lees meer >>