Я работаю с 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; }
}
В приведенном выше примере вы можете указать, что будет отображаться в метке для поля (Отображение) и какой тип поля использовать (Пароль). Однако, когда я пытаюсь использовать структуру сущностей и помещаю ее в представление ниже, я вижу, что автоматически сгенерированные метки - это просто имена полей, а не все, что я хочу, чтобы пользователь видел / должен был прочитать:
@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, что мне следует использовать? Я знаю, что сущности регенерируются, и, вероятно, не рекомендуется напрямую добавлять это в код сущностей, но по какой-то причине я не могу придумать лучшего подхода, чем вручную вводить текст метки в представлении (lame, there ' нет причин для этого, это MVC!). Я хочу сохранить его, чтобы приложение было достаточно динамичным, чтобы иметь возможность правильно отображать информацию для моей модели и поддерживать подход MVC. Как это сделать?