Validierung von Objekten mittels Lambdaausdrücken

In jeder Anwendung wird man früher oder später mit Geschäftsobjekten arbeiten und diese eventuell auch persistieren. Nun gibt es ja das schöne Sprichwort „All input is evil“. Man sollte also nicht alles so speichern, wie es angeleifert wird. Es gibt ja immer mehrere Wege, die Daten zu manipulieren. Um einen Weg davon abzusichern, validiert man die Benutzereingaben vor der Weiterverarbeitung. Diese Validierung kann sehr einfach gestrickt sein, wie z.B. Text vorhanden, oder Zahl kleiner ein festgesetzter Wert. Aber es kann auch sein, dass die Validierung komplexer werden.
Hier möchte ich eine Möglichkeit aufzeigen, wie man diese Validierungen mittels Lambdaausdrücken (in C#) in ein Regelset zu packen und diese Regeln auszuwerten. Dazu muss man mit den Lambdaausdrücken in C# und den Klassen wie Func oder Predicate etwas vertraut sein.Weiterlesen »

Erweiterung zum Entity Framework CTP5 (EF Persistence Framework)

Wer OO-Programmierer mit Leib und Seele ist, wird wahrscheinlich schon von der neuen CTP 5 des Entity Framework gehört haben. Das Zauberwort lautet code-only. Man kann also einfach mit seinem Modell anfangen, so wie man es auch OOP-Entwickler gewohnt ist. Mit ein paar Annotationen oder Beachtung einiger Konventionen kommt man sehr schnell zu einem schönen Modell. Nun fehlt noch ein Kontext, der sich einfach von der Klasse DbContext ableiten lässt und die Sets werden als generische DbSet-Eigenschaften angelegt.Weiterlesen »