2012-12-10 58 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