我在带有 Code First 和实体框架的 Visual Studio 2012 中使用 .NET 4.0、C# 4.0。
我有一组类,我想用作各种报告的基础。报告的数据保存在 SQL 数据库中。一个示例类是:
public class DocumentTrackerChaseReport
{
public int DocumentTrackerChaseReportID { get; set; }
public int CaseID { get; set; }
public int DocumentID { get; set; }
[Description("Case ID")]
public String CaseIdentifier { get; set; }
[Description("Document type")]
public String DocumentCategory { get; set; }
[Description("Contact")]
public String ContactName { get; set; }
[Description("Phone number")]
public String ContactPhoneNumber { get; set; }
[Description("email address")]
public String ContactEmail { get; set; }
public TrackingActionType TrackingActionType { get; set; }
}
Description 属性既可用作报告的标题,也可指示要从报告中排除的属性。
我有一种方法可以从这个问题中提取标题作为字符串数组
我还可以生成一个方法来检查字段/属性是否具有描述属性。
我缺少的关键要素是一种直接且通用的方式来生成报告的每一行,省略不具有此属性的字段。我可以使用反射遍历所有字段并检查报告每一行的属性,但这似乎很冗长。
有一个优雅的解决方案吗?