2012-12-10 56 views
0

我们使用EF4数据库第一种方法创建上下文类中找到的所有实体。现在我想的显示名称属性添加到对象的属性之一,如下所示:获取EF 4数据库第一个对象属性注释

[MetadataType(typeof(OpportunityMetaData))] 
public partial class Opportunity : EntityObject 
{ 

} 

public class OpportunityMetaData 
{ 
    [Display(Name = "Worked By")] 
    public int WorkedById { get; set; } 
} 

然后在测试页面上,使用反射,我试图让,说:“曾为由输出“,如下:

var attrType = typeof(DisplayNameAttribute); 
var property = typeof(Opportunity).GetProperty("WorkedById"); 
Response.Write(((DisplayNameAttribute)property.GetCustomAttributes(attrType, false).FirstOrDefault()).DisplayName); 

但是这只是给了Object Reference not set to an instance of an object。另外,如果我只是Response.Write该属性,它会写出“WorkedById”而不是“Worked By”。

任何帮助,将不胜感激。

回答

0

DisplayAttribute而不是DisplayNameAttributeName只是一个属性。

+0

感谢。事实上,我们实际上需要首先使用MetadataTypeAttribute作为typeof(Opportunity).GetCustomAttributes(typeof(MetadataTypeAttribute),true))[0]',然后在正确指出时获取得到的MetadataTypeAttributes属性并获取它的'DisplayAttribute'。 – James