Ich habe eine Datenbank in SQL Server erstellt und Entity Framework verwendet, um ein Modell in meinem C# MVC 5-Projekt zu erstellen. In meinen Modellen verwende ich System.ComponentModel, um einem DisplayName mehrere Eigenschaften (oder Spalten) zuzuweisen. Beispiel:Present DisplayName zwischen Coderegenerierung
namespace ProjectTracking.Models
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
public partial class EmployeeType
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public EmployeeType()
{
this.Employees = new HashSet<Employee>();
}
[DisplayName("Employee Type ID")]
public int PK_EmployeeTypeID { get; set; }
[DisplayName("Employee Type Name")]
public string EmployeeTypeName { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Employee> Employees { get; set; }
}
}
Das Problem, das ich habe laufen in ist, dass, wenn ich die Datenbank aktualisieren und mein Modell aktualisieren, verliere ich alle diese Informationen als alle Modellklassen regeneriert werden. Gibt es eine Möglichkeit, diese Informationen zu erhalten?
'' [Name] '' ist eine Ansicht bestimmtes Attribut durchgeführt werden und sollte zu Ihrer Ansicht Modelle angewendet werden, nicht Ihre Datenmodelle ([Was ist Ansichtsmodell in MVC ?] (https://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc)). Und als Randnotiz verwenden Sie '[Display (Name =" ... ")]]' statt '[DisplayName]' ([Attribut Anzeigename gegen Anzeigeattribut] (https://stackoverflow.com/questions/5243665/Anzeigename -attribute-vs-display-attribute)) –