我使用Entity Framework模型创建了一个动态数据项目。它工作得很好。但是,现在它显示了所有带有db列名称的数据库表 - 它们并不总是最友好的(例如address_line_1)。我如何才能提供将向最终用户显示的更友好的列标题?
答案 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
{
}
}
现在,即使您更新了实体,您仍然可以从自己的文件中进行更改。