VB.Net: Как использовать источник данных объекта в отчете (.rdlc)

Мой вопрос похож наэтот но у меня есть некоторые проблемы с реальной реализацией.

У меня есть отчет (.rdlc) на бизнес-уровне трехуровневого приложения.

У меня есть объект в BL (EmployeeManager) который имеетGetEmployees(Expression as Expression(Of Func(Of Employee, Boolean))) As IQueryable(Of Employee) метод.

Поскольку я не хотел пытаться передать лямбду напрямую (по крайней мере, пока у меня не получилось что-то работать), я создалReportData класс в BL, который оборачиваетGetEmployees() Вызовите и выставьте результаты как IEnumerable (Of Employee) - что должно быть очень просто. У него даже нет параметров на данный момент.

Хорошо ... Итак, в своем отчете я попытался добавить новый источник данных. Я выбрал типObject и расположенReportData класс, упомянутый выше. Мастер завершает работу и добавляет в проект папку DataSources, которая представляет собой некоторый XML, определяющий<GenericObjectDataSource> и указывая наReport учебный класс.

ReportData также отображается на панели «Источники данных».> рядом с ним, но когда я расширяю его, у него нет детей.

Что я не знаю, как это сделать, так это ИСПОЛЬЗОВАТЬ источник данных - Кажется, он не предоставляет никаких методов / членов (я даже не указал, что он должен вызыватьGetEmployees() пока!) и я конечно не вижуIEnumerable(Of Employee) в любом месте.

Когда я пытаюсь добавить таблицу в отчет, и он предлагает мне выбрать набор данных, источник данных ReportData не отображается в раскрывающемся списке «Источник данных».

Что мне не хватает? Может кто-нибудь, пожалуйста, укажите мне в правильном направлении?

Мой простой объект ReportData:

Namespace Reports
    Public Class ReportData

        Private Property EmployeeManager As Interfaces.IEmployeeManager

        Public Sub New()
            ''This sub is here in case it's an instantiation problem - I intend to use dependency injection when I've got this working properly.
            Me.EmployeeManager = New EmployeeManager
        End Sub

        Public Sub New(ByVal EmployeeManager As Interfaces.IEmployeeManager)
            Me.EmployeeManager = EmployeeManager
        End Sub

        Public Function GetEmployees() As IEnumerable(Of Employee)
            Return EmployeeManager.GetEmployees()
        End Function
    End Class
End Namespace

Я также нашелэтот который, кажется, указывает, что я следую за правильными шагами, но свойства не появляются как ожидалось

Открытые свойства класса теперь отображаются в окне Источники данных, где их можно перетаскивать в отчет.

Этого не происходит - свойства никогда не появляются

РЕДАКТИРОВАТЬ: Как указал Алекс, мне нужно использоватьсвойства не просто какие-либо методы. Пожалуйста, смотрите ответ Алекса Эсфили ниже для уточнения. Это все еще не решило мою проблему, но сделало меня на шаг ближе ...

Ответы на вопрос(2)

Ваш ответ на вопрос