在数据实体框架中显示名称

时间:2012-04-11 14:25:27

标签: asp.net-mvc entity-framework

我想知道如何更改模型的显示名称,以及如何在Entity Framework中自定义错误消息。我尝试了以下但是没有用。

    [Required(ErrorMessage = "Required .... :")]
    [Display(Name = "Name Agency : ")]
    [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
    [DataMemberAttribute()]
    public global::System.String Nag
    {
        get
        {
            //code
        }
        set
        {
           //code
        }
    }

这是我的表单背后的代码,它将数据添加到我的数据库中。我省略了不相关的行。

 <% using (Html.BeginForm("addcar", "Agence", FormMethod.Post, new { @class = "search_form" }))
   { %>
    <%: Html.ValidationSummary(true) %>
        <div class="editor-label">
            <%: Html.LabelFor(model => model.Dmcv) %>
        </div>
        <div class="editor-field">
            <%: Html.EditorFor(model => model.Dmcv) %>
            <%: Html.ValidationMessageFor(model => model.Dmcv) %>
        </div>

        <div class="editor-label">
            <%: Html.LabelFor(model => model.Puisv) %>
        </div>
        <div class="editor-field">
            <%: Html.EditorFor(model => model.Puisv) %>
            <%: Html.ValidationMessageFor(model => model.Puisv) %>
        </div>

        // Similaire code

        <p>
            <input type="submit" value="Create" />
        </p>
<% } %>

2 个答案:

答案 0 :(得分:7)

改为[Display(Name = "Name Agency")]改为[DisplayName("Name Agency")]

答案 1 :(得分:3)

首先你需要参考:

using System.ComponentModel.DataAnnotations;

要更改列的显示名称,实际上[显示(名称=“名称代理商”)]是正常的。我在我的项目中使用它。

有关错误消息

[Required(ErrorMessage="Required...")]

我读到如果您使用实体框架设计器,这可能不起作用,因为设计师会反复覆盖您的更改,那么您将需要使用类似这样的元数据类型:

[MetadataType(typeof(MetadataMyClass))]
public partial class myclass
{
}

//data annotations here
public class MetadataMyClass
{
  [Required(ErrorMessage = "Required...")]
  [Display(Name="Column Name")]
  public global:: System.String Nag
  {
    // ... etc, etc...
  }
}