Problèmes de définition de la source de données RDLC à l'objet

De fond:

J'ai été chargé de la conversion d'une base de données d'Accès de l'application à ASP.Net C# MVC. C'est ma première application MVC.

Il y a 10 rapports qui ont besoin de conversion. Nous utilisons RDLC fichiers et reportviewer. Je suis à l'aide de Visual Studio 2010 avec toutes les plus récents correctifs. Nous sommes connecter à une base de données SQL Server qui a été peuplée par la base de données Access existante, de sorte que la structure de la table est assez bien défini dans la pierre, ou autre chose, nous allons essayer de convertir les 10 ans de données.

J'ai terminé tous, mais deux de ces rapports. Les rapports finaux nécessitent plus de traitement, et de ne pas afficher les données de la base de données. La meilleure façon de le faire serait de créer un objet de C# et de faire tout le traitement côté serveur, puis utilisez RDLC pour afficher les résultats.

Question

Le problème, je vais avoir, c'est que Visual Studio ne pourra pas reconnaître les objets que j'ai créé comme sources de données potentielles. Chaque fois que j'essaie de "ajouter un jeu de données", il apporte de la "source de données assistant de configuration" et ne permet qu'une base de données SQL Server que la connexion de données. Je sais qu'il y a un écran qui existe qui permet de sélectionner un objet en tant que votre jeu de données, mais je n'ai jamais voir cet écran.

Voici les objets (fonctions de traitement retiré pour plus de clarté):

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; }
}

Je voudrais aussi être prêt à utiliser l'interface IEnumerable de "TurnAroundVal" comme source de données, et il suffit de passer les dates, int et double en tant que paramètres. L'un et l'autre travail.

Question

Est-il un paramètre dans Visual Studio 2010 que je suis absent pour permettre à la RDLC Designer de voir les objets que j'ai créé?
Suis-je tort de penser cela fonctionne avec les classes que j'ai défini?

Réponse

Toutes les suggestions ont été utiles, mais en fin de compte qu'est ce que cela fonctionne pour moi a été de créer un fichier temporaire non-projet web dans la même solution et de créer de la RDLC. Quand je suis allé pour ajouter un dataset, il montre des "Objets" comme une option. Vous devez ajouter une référence à votre projet web, de sorte que vos objets sont visibles, mais vous pouvez choisir celui que vous souhaitez et les utiliser que dans le RDLC. Après cela, il vous suffit de glisser-déposer le fichier RDLC dans votre projet web, supprimer la temp projet, et vous êtes bon pour aller. N'oubliez pas que vous devez ajouter les sources de données manuellement dans le code, et qu'ils ont à porter le même nom que vous avez spécifié dans la RDLC.

source d'informationauteur War2d2