Я работаю с MVC3 и использую Entity Framework 4.0 Entities в качестве моей модели.До сих пор все прекрасно работает, если использовать его в качестве модели (все операции / генерации страниц страниц работают из коробки).Мне интересно, однако, как вы получаете те же надежные метки и проверочную информацию, что и при создании модели вручную?
Вот пример того, что я имею в виду.Это класс, сгенерированный примером проекта MVC3:
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; }
}
В приведенном выше примере вы можете указать, что будет отображаться в метке для поля (Display) и какой тип поля использовать (Password).).Однако, когда я пытаюсь использовать платформу сущностей и выдвигаю ее в представлении ниже, я вижу, что автоматически сгенерированные метки - это просто имена полей, а не то, что я хочу, чтобы пользователь видел / должен прочитать:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Person</legend>
<div class="editor-label">
@Html.LabelFor(model => model.FirstName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.MiddleName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.MiddleName)
@Html.ValidationMessageFor(model => model.MiddleName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Birthdate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Birthdate)
@Html.ValidationMessageFor(model => model.Birthdate)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>}
Мой вопрос: Как добавить эти дополнительные украшения к сущностям, которые генерируются с помощью EF4?Есть ли что-то кроме System.ComponentModel.DataAnnotations, что я должен использовать?Я знаю, что сущности восстанавливаются, и, вероятно, не стоит добавлять это непосредственно в код сущностей, но по какой-то причине я не могу придумать лучшего подхода, чем ввод текста метки вручную в представлении (хромой, нет причиндолжен сделать это, это MVC!).Я хочу сохранить его так, чтобы приложение было достаточно динамичным, чтобы иметь возможность отображать правильную отображаемую информацию для моей модели и придерживаться подхода MVC.Как мне это сделать?