Entity Framework-Datenbank Bei der ersten Regeneration gehen manuelle Änderungen verloren

Ich mache eine Website mit MVC .NET.

Da ich ein Programmierer alter Schule bin, der zuerst lernt, Datenbanken zu entwerfen, habe ich mich für den Datenbank-Ansatz entschieden. Ich benutze auch "Code-Generierung", die Dateien mit der Erweiterung erstellen.tt . Alles funktioniert soweit, bis auf eine Sache, die mich stört.

Klassisches Szenario:

Mir ist klar, dass mir ein Feld fehltIch füge das Feld in die Datenbank ein.Ich gehe in die EDMX und beschließe, das Modell aus der Datenbank zu aktualisieren.

Dann kehre ich zu meinem Code zurück und Dinge, die wie ein spezielles DisplayName-Tag funktionieren, das ich über das Modellfeld gesetzt habe, wurden entfernt.

Zum Beispiel, wenn ich das habe:

public partial class Blog
    {
        public Blog()
        {
            this.BlogComments = new HashSet<BlogComment>();
        }

        public int IDBlog { get; set; }
        public string Title { get; set; }

        [AllowHtml]
        public string Content { get; set; }
        public System.DateTime DateCreated { get; set; }
        public string Author { get; set; }

        public virtual ICollection<BlogComment> BlogComments { get; set; }
    }

Es wird werden

public partial class Blog
    {
        public Blog()
        {
            this.BlogComments = new HashSet<BlogComment>();
        }

        public int IDBlog { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
        public System.DateTime DateCreated { get; set; }
        public string Author { get; set; }

        public virtual ICollection<BlogComment> BlogComments { get; set; }
    }

Das liegt daran, dass die[AllowHtml] wurde nach einer früheren Generation des Modells hinzugefügt. Gibt es eine Möglichkeit, die Tabelle zu aktualisieren und nicht alle Tags zu entfernen, die ich nach der Generierung hinzufüge? Wie kann ich das machen?

Im Moment schaffe ich das, indem ich mit SVN einen Rückschritt mache, aber es wird bald nicht mehr zu handhaben sein.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage