Как я могу запускать отчеты из POCO? - PullRequest
2 голосов
/ 29 августа 2011

Я ищу способ создания хороших отчетов из моей доменной модели, построенной на C #. Использование SSRS было бы идеально, но это не обязательно.

Большинство наших отчетов запускаются непосредственно из нашей базы данных, но у нас есть особые потребности в паре отчетов, которые требуют, чтобы все данные проходили через модель предметной области. Репортажи о POJO кажутся обычными, но я мало что видел в POCO.

Ответы [ 3 ]

1 голос
/ 15 сентября 2011

SSRS позволяет ссылаться на ваши собственные сборки, так что, может быть, это может вам помочь?Взгляните и на эту статью: Отчеты по доменам: добавление пользовательского кода

0 голосов
/ 24 августа 2012

В коде вы можете добавить POCO в качестве источника данных, если он находится в IEnumerable, таком как простой массив.Ваш POCO должен содержать только простые типы данных, потому что отчет SSRS не поддерживает выражения типа SomeProperty.AnotherProperty.Value. Поэтому, если у вас есть сложный объект, вы должны объединить его в один объект.

В C #:

public static string GetDiagramReport(MyPOCO model)
{
    Microsoft.Reporting.WinForms.LocalReport ssrsReport = new LocalReport();
    ...
    ssrsReport.DataSources.Add(new ReportDataSource("DataSet1", new MyPOCO[] { model }));
    ...
}

И разработчик SSRS очень рад, что вы добавили это POCO в качестве источника данных объекта.

В соответствии с этим вопросом вы можете создавать более сложные объекты, если добавите больше кода. Службы Reporting Services: источник данных бизнес-объекта с родителем-ребенком-внуком

0 голосов
/ 30 августа 2011

Это не простой ответ, но вы можете использовать провайдер отражения oData , чтобы превратить ваши объекты в фид oData, а затем использовать что-то вроде Поддержка oData в Tablaeu . Я полагаю, что есть несколько бесплатных опций для создания отчетов и о каналах oData.

...