Portieren von EF6 zu EF Core mit dem hybriden Ansatz

Zwei gängige Ansätze bestehen darin, Ihre Datenbank aus Code zu generieren und Migrationen zu verwenden, oder Ihre Entitäten aus der Datenbank mithilfe von Reverse Engineering zu generieren. Beim hybriden Ansatz generieren Sie nichts. Stattdessen gewähren Sie der Datenbank und Codebasis mehr Zeit zur Weiterentwicklung und verwenden die Modellkonfiguration, um die beiden synchron zu halten. Dieser Artikel enthält einige Tipps, wie Sie den hybriden Ansatz erfolgreich nutzen können:

  1. Lesen Sie zunächst die Leitfäden zum Code als Source of Truth und zur Datenbank als Source of Truth, um sich mit einigen der Überlegungen vertraut zu machen, die Sie kennen sollten.
  2. Da Sie keine Migrationen verwenden, müssen keine Sequenzen, nicht primären Indizes, Einschränkungen und Indexfilter modelliert werden.
  3. Eine Integrationstestsammlung ist in diesem Ansatz nützlich, um eine ordnungsgemäße Übergabe zwischen Code und Datenbank zu validieren, während sich der Code und die Datenbank weiterentwickeln.
  4. Ein Ansatz zum Testen der Richtigkeit Ihre Zuordnungen besteht darin, eine Pseudodatenbank mithilfe einer Migration zu generieren, die wieder verworfen werden soll, und dann ein Tool zum Vergleichen der generierten Datenbank mit der tatsächlichen Datenbank zu verwenden. Sie können schnell Unterschiede im Schema kennzeichnen und darauf reagieren.
  5. Sie können wahlweise auch partielle Klassen aus der Datenbank generieren und Erweiterungen für diese Klassen verwenden, um Ihren benutzerdefinierten Code zu konfigurieren.