我正在使用實體框架,這裏是其中一個表的元數據外觀。獲取實體的列名
[Column("pp_account")]
public string Account { get; set; }
[Column("pp_added")]
public DateTime? AddDate { get; set; }
[Column("pp_auser")]
public string AddUpdateUserName { get; set; }
[Column("pp_cfalt")]
public string AlternateForwardingNumber { get; set; }
我有興趣獲取Column屬性名稱而不是公共名稱,即顯示pp_added而不是「AddDate」。這裏是一個foreach循環我已經寫到目前爲止,幾乎讓我有
foreach(var field in _personal.GetType().GetProperties())
{
sb.Append("\nName : " + field.Name + "\n");
sb.Append("Type : " + field.PropertyType.Name + "\n");
sb.Append("Attributes: " + field.Attributes + "\n");
sb.Append("Value : " + field.GetValue(_personal, null) + "\n");
}
下面是返回什麼:
Name: AddDate
Type: Nullable'1
Attributes: None
Value: 5/2/2014 12:00:00 AM
我希望得到什麼回是
Name: pp_added
Type: Date
Value: 5/2/2014 12:00:00 AM
如何訪問[Column("pp_added")]
以獲取pp_added
而不是公衆Name
?
您需要使用反射。有關詳細信息,請參閱http://stackoverflow.com/questions/9113020/get-attribute-info-with-generics – mit
基於反射的方法在流利的API情況下不起作用。你需要探索EF元數據。 – Dennis