Utilizzo di System.ComponentModel.DataAnnotations con Entity Framework 4.0

Sto lavorando con MVC3 e utilizzo Entity Framework 4.0 Entity come mio modello. Finora, tutto funziona alla perfezione con il suo utilizzo come modello (tutte le operazioni di crude / le generazioni di pagine lavorano fuori dagli schemi). Mi chiedo, tuttavia, come si ottengono le stesse etichette e le stesse informazioni di convalida come quando si genera un modello manualmente?

Ecco un esempio di cosa intendo. Questa è una class generata dal progetto MVC3 di esempio:

public class LogOnModel { [Required] [Display(Name = "User name")] public string UserName { get; set; } [Required] [DataType(DataType.Password)] [Display(Name = "Password")] public string Password { get; set; } [Display(Name = "Remember me?")] public bool RememberMe { get; set; } } 

Con l’esempio sopra, è ansible specificare cosa viene visualizzato in un’etichetta per il campo (Visualizzazione) e quale tipo di campo utilizzare (password). Tuttavia, quando provo a utilizzare il framework quadro e lo spingo alla vista seguente, vedo che le etichette generate automaticamente sono solo i nomi dei campi, e non tutto ciò che voglio che l’utente veda / debba leggere:

 @using (Html.BeginForm()) { @Html.ValidationSummary(true) 
Person
@Html.LabelFor(model => model.FirstName)
@Html.EditorFor(model => model.FirstName) @Html.ValidationMessageFor(model => model.FirstName)
@Html.LabelFor(model => model.MiddleName)
@Html.EditorFor(model => model.MiddleName) @Html.ValidationMessageFor(model => model.MiddleName)
@Html.LabelFor(model => model.LastName)
@Html.EditorFor(model => model.LastName) @Html.ValidationMessageFor(model => model.LastName)
@Html.LabelFor(model => model.Birthdate)
@Html.EditorFor(model => model.Birthdate) @Html.ValidationMessageFor(model => model.Birthdate)

}

inserisci la descrizione dell'immagine qui

La mia domanda è: come aggiungo queste decorazioni extra alle entity framework che vengono generate usando EF4? C’è qualcosa oltre a System.ComponentModel.DataAnnotazioni che dovrei usare? So che le entity framework vengono rigenerate e probabilmente non è una buona idea aggiungerla direttamente al codice delle quadro, ma per qualche motivo non riesco a pensare ad un approccio migliore di quello che inserisco manualmente il testo dell’etichetta nella vista (zoppa, non c’è motivo di devi farlo, questo è MVC!). Voglio mantenerlo in modo che l’applicazione sia abbastanza dynamic da poter avere le informazioni di visualizzazione corrette per il mio modello e mantenere un approccio MVC. Come lo faccio?