Bei der Entwicklung von Datenbankanwendungen wird häufig das Entity Framework (EF) zur Hilfe gezogen, um aus einem Modell die Klassen und die Datenbank zu generieren. Das EF hat sicher viele Vorteile und ist relativ einfach zu verwenden, doch das EF hat nicht für alle Probleme eine Lösung: In den generierten Klassen und im Modell fehlen oft viele wichtige und notwendige Informationen für den Entwickler.
Klasseneigenschaft, die berechnet werden wie der Flächeninhalt, sollten wegen Redundanz nicht in der Datenbank gespeichert werden, können aber in einer Klasse als Property notwendig sein. Code-Kommentare, die dem Entwickler helfen sollen, die Klassen zu verstehen, können nicht in den Klassen abgelegt werden, da sie generiert werden. Auch Informationen zu Einheiten wie mm oder cm bei einer Länge fehlen im generierten Code komplett.
Eine Möglichkeit um die Probleme zu lösen, ist, die Klassen und die Datenbank selber zu generieren per T4-Templates. Für die Templates als Model dienen dabei XML-Dateien, in denen alle notwendigen Informationen gespeichert werden.
Mehr dazu kann im Artikel „Dynamisch mit XML und T4“ in der dotnetpro 09/2015 gelesen werden.
Ist dieses Thema interessant für Sie oder benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?