Ich benutze ASP.NET-Identität für mein Projekt.Auto gefüllt Spalte mit Code zuerst und keine POCO-Eigenschaft
Ich habe eine neue Spalte direkt in der Datenbank in AspNetUsers
namens CreationDate
erstellt und definiert, dass der Standardwert das aktuelle Datum wäre und es wie erwartet gespeichert wird.
Das Problem ist, dass, wenn ich die Datenbank neu generieren muss ich diese Spalte erneut erstellen. Ich meine, in der Produktion oder in einer neuen Umgebung.
möchte ich wissen, ob es möglich ist, die fluent API in einer Art und Weise zu verwenden ich es in der OnModelCreating
(mit seinen Default-Wert) definieren.
Die Klasse ist innen Identität Klassen aus der Vorlage ASP.NET erstellt (ApplicationDbContext
, ApplicationUser
und so weiter), und ich möchte wissen, ob dies durch die Verwendung möglich ist, direkt das fließend API (und nicht die Vererbung oder creating all the classes).
Ich will nicht die classe nur verlängern, weil ich nicht wirklich in jedem anderen Aspekt benötigen. Diese Spalte wäre möglicherweise nur in der Datenbank zu sehen, ohne dass dafür eine "Ansicht" angezeigt werden muss. Ich verstehe Ihre Lösung, aber ich habe überlegt, ob es möglich wäre, eine Spalte in der Fluent-API zu erstellen, die keine Referenzen im Code enthält (abgesehen von ihrer Erstellung). –
Die Idee hinter EF ist, dass Ihre Datenbank mit Ihrem Modell synchronisiert werden kann (um das zu tun, muss EF jedes einzelne Objekt in Ihrem DB kennen). Nur weil Sie diese Eigenschaft in der Ansicht nicht anzeigen müssen, bedeutet dies nicht, dass Sie sie nicht in Ihrem Code verwenden müssen. Persistenz und Präsentation haben nichts miteinander zu tun. Ich schlage vor, dass Sie es zu Ihrem Code hinzufügen, anstatt ein SQL-Skript erstellen zu müssen, das jedes Mal nach dem Erstellen der Datenbank ausgeführt wird (und Sie erhalten die Quellcodeverwaltung auf diese Weise). –