Я использую .NET 4.0, C# 4.0 в Visual Studio 2012 с Code First и Entity Framework.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; }
}
The Описание атрибутов действует как заголовки для отчета, а также указать, какие свойства должны быть исключены из отчета.
У меня есть метод для извлечения заголовков как строковый массив из this вопроса
я также могу генерировать метод, который проверяет, если поле/свойство имеет атрибут описания.
Ключевой компонент, которого я пропускаю, - это простой и общий способ генерации каждой строки отчета, опуская поля, которые не имеют этого атрибута. Я могу проходить через все поля, используя отражение и проверку атрибута для каждой строки отчета, но это кажется длинным.
Есть ли элегантное решение?
Если вы хотите сделать это совершенно общий/обычный, то использование отражения здесь неизбежно, но, как вы сформулированы вопросы звучит как вы недовольны этим. Можете ли вы уточнить, что вы считаете элегантным, может помочь вам быстрее получить ответ. – gooid
Спасибо. Дело не в том, что я хочу избежать отражения, но проверка каждого столбца каждой строки не кажется эффективной или изящной. –