动态数据 - 制作友好的列名?

时间:2010-06-17 15:02:39

标签: asp.net entity-framework dynamic-data entity-framework-4

我使用Entity Framework模型创建了一个动态数据项目。它工作得很好。但是,现在它显示了所有带有db列名称的数据库表 - 它们并不总是最友好的(例如address_line_1)。我如何才能提供将向最终用户显示的更友好的列标题?

4 个答案:

答案 0 :(得分:6)

您应该使用元数据类添加其他注释:

[MetadataType(typeof(MovieMetaData))]
public partial class Movie
{
}


public class MovieMetaData
{
    [Required]
    public object Title { get; set; }

    [Required]
    [StringLength(5)]
    public object Director { get; set; }


    [DisplayName("Date Released")]
    [Required]
    public object DateReleased { get; set; }
}

http://www.asp.net/mvc/tutorials/validation-with-the-data-annotation-validators-cs - 查找使用实体框架的数据注释验证器

属性不仅用于设置显示名称,还用于验证,转换可见性,顺序或数据的呈现方式。如果要使用动态数据实体项目,则应该查看它。

答案 1 :(得分:1)

你可以放一个

[DisplayName("A fancy column name")] 

属性在生成的部分类的列名上方。

Grz,Kris。

答案 2 :(得分:1)

当我们使用VB.NET时,将值设置为PROPERTY非常重要。

使用:

<DisplayName("Name")> _
Public Property FirstName As Object

而不是

<DisplayName("Name")> _
Public FirstName As Object

如果您不这样做,您将收到错误消息

答案 3 :(得分:0)

为了在每次从数据库更新实体时不要松动更改,您需要在设计器.cs文件之外创建另一个类文件,如下所示:

namespace ModelCustomers
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;

    [DisplayName("Table Name")]
    public partial class My_Class
    {
    }
}

现在,即使您更新了实体,您仍然可以从自己的文件中进行更改。