Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Entity Framework Core Grundkurs

Pflichtfelder definieren

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Felder, die über Entity Framework Migrations angelegt werden, lassen in der Datenbank standardmäßig NULL-Werte zu. Das lässt sich über das Required-Attribut unterbinden.
03:39

Transkript

In meinem Beispielprojekt habe ich mir aus meinem Domain-Modell, über Code First Migrations, eine Datenbank generieren lassen. Wenn ich mir diese Datenbank-Tabellen nun einmal ansehe, indem ich im Server Explorer die entsprechende Verbindung öffne und hier über das Kontext-Menü "Tabellendefinition öffnen" wähle, sehe ich, dass es hier einige Sachen gibt, die ein wenig unschön sind. Zum Beispiel werden hier NULL-Werte beim Vornamen und Nachnamen des Fahrers zugelassen. Und das möchte ich eigentlich vermeiden. Vermeiden kann ich das, indem ich in die entsprechende Entität gehe, zum Beispiel hier in die Fahrer-Entität und über die Felder, die Pflichtfelder sind, das Attribut "Required" schreibe. Dieses Attribut, das kommt aus dem Namespace System.ComponentModel.DataAnnotations. Über Strg + Punkt öffne ich hier dieses Kontext-Menü, Enter. Und dann ist das entsprechende Attribut auch schon bekannt. Das Gleiche mache ich jetzt bei meinem "Fahrer", neben dem Vornamen auch für den Nachnamen. Für den Primärschlüssel, für die Id, muss ich das übrigens nicht machen, denn das geschieht automatisch. Die anderen Felder, die sind meiner Meinung nach durchaus erstmal optional. Wenn ich weiter in die "Fahrt" hereinschaue, dann denke ich, hier gibt es eine ganze Menge Pflichtfelder. Zum Beispiel wann war das, an welchem Datum, zu welcher Uhrzeit, und außerdem auch, wohin bin ich überhaupt gefahren. Das muss ich auch eintragen. Der Zweck ist auch wichtig. Außerdem sollte ich angeben wer überhaupt gefahren ist. Und hier trage ich auch entsprechend das "Required" Attribut ein und auch der FahrerName. Das Fahrzeug ist natürlich auch wichtig und auch ob es eine Privat- oder Geschäftsfahrt war. Bedeutet hier: sind alle Felder "Required". Beim Fahrzeug ist sicherlich das Kennzeichen wichtig und der Typ. Standardfahrer und StandfahrerId sind nicht ganz so wichtig. Dementsprechend werde ich hier kein "Required" Attribut benötigen. So, damit habe ich jetzt also Pflichtfelder definiert. Ich benötige jetzt eine neue Migration, um diese in die Datenbank zu übertragen. Dazu schreibe ich Add-Migration und die nenne ich jetzt "PflichtfelderDefiniert". Wie Sie die nennen, ist im Endeffekt übrigens auch egal. Das ist nur, damit Sie das später nochmal wiederfinden. Enter. Im Hintergrund sagt er mir jetzt: er hat eine neue Migration gemacht. Sagt aber: "Achtung, hier könnten Daten verloren gehen." In meinem Fall ist es nicht ganz so schlimm, dass Daten verloren gehen könnten, denn die Datenbank ist noch leer. Ein Blick auf die Migrationsklasse zeigt, dass die Felder entsprechend das Attribut "Nullable False" erhalten. Also, der letzte Schritt besteht nun darin, dass ich die Datenbank aktualisiere. Das geschieht über "Update-Database". Und wenn ich mir jetzt meine Entwürfe hier anschaue, das Ganze einmal aktualisiere... Aber nicht die Datenbank aktualisiere, sondern einfach das Ganze neu öffne, dann sehe ich, dass hier bei Nachname und Vorname beim Fahrer die "NULL-Werte zulassen" weg sind. Außerdem sehe ich, dass bei den Fahrten für alle Felder NULL-Werte nicht mehr möglich sind.

Entity Framework Core Grundkurs

Lernen Sie die Features von Microsofts O/R-Mapper kennen und wie Sie ihn in praktischen Anwendungen einsetzen.

2 Std. 29 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!