Nach Meilenstein 5 kommen jede Nacht neue Ausschreibungen in die Kladde. Ein paar Wochen später sind es Hunderte, und eine einfache Liste hilft dem Büro nicht mehr. Es will wissen: Was läuft noch, was passt zu uns, und was muss bis Ende des Monats abgegeben werden? Der sechste Meilenstein macht die Ausschreibungen durchsuchbar, mit Filtern in der Adresse wie bei den Kontakten aus Meilenstein 1 und mit einer Detailseite, die zur Bekanntmachung bei TED führt.

Neue Werkzeuge kommen nicht dazu. Sie setzen zusammen, was Sie aus Lektion 2.4.9 (Abfragen mit EF Core), 2.5.4 (Daten anzeigen mit statischem SSR) und Meilenstein 1 kennen. Neu ist eine Frage, die sich bei jeder Suche stellt: Wie bleibt die Regel, was „passt“, an einem Ort, wenn sie einmal im Speicher und einmal in SQL laufen muss?

Pull Request Branch Bringt Wo in dieser Lektion
1 feature/m6-tender-query die Anfrage im Kern: CPV-Präfix, Land, Frist, abgelaufene, Seite, die Regel Matches „Pull Request 1“ und Übung 1
2 feature/m6-tender-search-sql dieselbe Regel als Abfrage mit EF Core, ein Test gegen SQL Server „Pull Request 2“
3 feature/m6-tender-pages die Liste mit Filtern und Seiten, die Detailseite mit Link zu TED „Pull Request 3“ und Übung 2

Wo die Kladde steht

Nach Meilenstein 5 gilt in den Lösungen:

  • Die Tabelle Tenders hat eine Zeile je Bekanntmachung (TenderRow in Kladde.Data): Nummer, Titel, Auftraggeber, Land, die CPV-Codes als Liste, Tag der Veröffentlichung und Frist. Die Nummer hat einen eindeutigen Index, die Frist einen gewöhnlichen.
  • Die Seite /ausschreibungen zeigt über einer einfachen Liste den Satz zum letzten Import (ImportRunLine).
  • Die Kontaktliste aus Meilenstein 1 hat Suche und Seiten über die Adresse, mit ContactQuery und Page<T> im Kern.

Heißen Ihre Dateien, Klassen oder Ordner anders, behalten Sie Ihre Namen und übertragen Sie die Schritte.