Ich beschäftige mich im Moment ein bisschen mit FluentNHibernate.
Das erste was ich mir angesehen habe, war die Testbarkeit.
Ich bin überrascht, kann es manchmal wirklich so einfach sein?
Ein kleines Beispiel (nicht vollständig) anbei.
Benutzer:
1 public class BenutzerMap : ClassMap<Benutzer> 2 { 3 public BenutzerMap() 4 { 5 Id(x => x.Id); 6 Map(x => x.Vorname); 7 Map(x => x.Nachname); 8 } 9 }
Test:
1 [Test] 2 public void TestMapBenutzer() 3 { 4 new PersistenceSpecification<Benutzer>(m_Session) 5 .CheckProperty(c => c.Nachname, "Mustermann") 6 .CheckProperty(c => c.Vorname, "Max") 7 .VerifyTheMappings(); 8 }
Was passiert beim Test:
- es wird eine Benutzer-Instanz erstellt
- der Benutzer wird in der Datenbank/Tabelle angelegt
- der gespeicherte Benutzer wird in eine neue Instanz geladen
- die neue Instanz wird mit dem Original verglichen