Problemas al establecer el origen de datos RDLC en un objeto

Fondo:

Me han asignado la tarea de convertir una aplicación de base de datos de Access a ASP.Net C # MVC. Esta es mi primera aplicación MVC.

Hay 10 informes que necesitan convertir. Estamos usando archivos RDLC y reportviewer. Estoy usando Visual Studio 2010 con todos los parches más recientes. Nos estamos conectando a una base de datos de SQL Server que ha sido poblada por la base de datos existente de Access, por lo que la estructura de la tabla está bastante definida, o tendremos que intentar convertir 10 años de datos.

He completado todos menos dos de los informes. Los informes finales requieren más procesamiento y no solo muestran los datos de la base de datos. La forma más fácil de hacer esto sería crear un objeto C # y hacer todo el procesamiento del lado del servidor, luego usar RDLC para mostrar los resultados.

Problema

El problema que tengo es que Visual Studio no reconocerá los objetos que he creado como posibles fuentes de datos. Cada vez que intento "agregar un conjunto de datos", aparece el "asistente de configuración de la fuente de datos" y solo ofrece la base de datos de SQL Server como la posible conexión de datos. Sé que existe una pantalla que le permite seleccionar un objeto como su conjunto de datos, pero nunca veo esa pantalla.

Aquí están los objetos (funciones de procesamiento eliminadas para mayor claridad):

public class TurnAroundVal
{
    // Registration Package information
    public string dataType { get; set; }

    // Calculated totals; values only set through constructor or calculation function
    public int packageCount { get; private set; }
    public int dayCount { get; set; }
    public double avgTurnAround { get; private set; }
    public int upperRange { get; private set; }
    public int lowerRange { get; private set; }
}

public class TurnAroundVals
{
    // Public Variables
    public IEnumerable<TurnAroundVal> TurnArounds { get; private set; }
    public DatePass dates { get; set; }
    public int pkgTotal { get; private set; }
    public double dayTotal { get; private set; }
    public double avgAllTurnArounds { get; private set; }
}

También estaría dispuesto a usar el IEnumerable de "TurnAroundVal" como fuente de datos, y simplemente pasar las fechas, int, y se duplica como parámetros. Cualquiera funcionaria

Pregunta

¿Hay una configuración en Visual Studio 2010 que me falta para permitir que el Diseñador de RDLC vea los objetos que creé? ¿Me equivoco al pensar que esto funcionará con las clases que definí?

Responder

Todas las sugerencias dadas fueron útiles, pero en última instancia, lo que funcionó para mí fue crear un proyecto temporal no web en la misma solución y crear el RDLC allí. Cuando fui a agregar un conjunto de datos, muestra "Objetos" como una opción. Debe agregar una referencia a su proyecto web para que sus objetos estén visibles, pero luego puede elegir el que desee y usarlo en el RDLC. Después de eso, simplemente puede arrastrar y soltar el archivo RDLC en su proyecto web, eliminar el proyecto temporal y listo. Solo recuerde que tiene que agregar las fuentes de datos manualmente en el código, y deben tener el mismo nombre que el especificado en el RDLC.

Respuestas a la pregunta(5)

Su respuesta a la pregunta