我正在使用实体框架,这里是其中一个表的元数据外观。获取实体的列名
[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