5

Avevo esperienza nello sviluppo di report (SSRS) utilizzando il set di dati ado.net. Ora sto lavorando a un'applicazione che non utilizza ADO.net ma il framework di entità ma il framework di entità non restituisce datatable o dataset. Voglio sapereReporting Services utilizzando Entity Framework

  1. Esiste un modo per utilizzare gli oggetti Raccolta o personalizzati restituiti dal framework di entità nei servizi di reporting?
  2. Il framework di entità restituisce in qualche modo datatable o dataset.

Oppure dovrei creare manualmente datatable/set di dati dalla raccolta restituita dal framework entità manualmente.

Per la cronologia, ottengo il set di risultati eseguendo la stored procedure dall'entità framework.

+0

hai guardato la risposta a questa domanda? http://stackoverflow.com/questions/15146425/creating-reports-in-asp-net-with-entity-framework – Nathan

risposta

3
public void getMyReportData() 
{ 
    using (myEntityDataModel v = new myEntityDataModel()) 
    { 

     var reportQuery = (from r in v.myTable 
           select new 
           { 
            l.ID, 
            l.LeaveApplicationDate, 
            l.EmployeeNumber, 
            l.EmployeeName, 
            l.StartDate, 
            l.Col1, 
            l.Col2, 
            ......., 
            ......., 
            l.Address 
           }).ToList(); 

     reportViewer1.LocalReport.DataSources.Clear(); 
     ReportDataSource datasource = new ReportDataSource("nameOfReportDataset", reportQuery); 
     reportViewer1.LocalReport.DataSources.Add(datasource); 

     Stream rpt = loadEmbededReportDefinition("Report1.rdlc"); 
     reportViewer1.LocalReport.LoadReportDefinition(rpt); 
     reportViewer1.RefreshReport(); 

     //Another way of setting the reportViewer report source 

     string exeFolder = Path.GetDirectoryName(Application.ExecutablePath); 
     string reportPath = Path.Combine(exeFolder, @"rdlcReports\Report1.rdlc"); 
     reportViewer1.LocalReport.ReportPath = reportPath; 

     reportParameter p = new ReportParameter("DeptID", deptID.ToString()); 
     reportViewer1.LocalReport.SetParameters(new[] { p }); 

    } 
} 




public static Stream loadEmbededReportDefinition(string reportName) 
    { 
     Assembly _assembly = Assembly.GetExecutingAssembly(); 
     Stream _reportStream = _assembly.GetManifestResourceStream("ProjectNamespace.rdlcReportsFolder." + reportName); 

     return _reportStream; 
    } 

Fonte originale: Creating Reports in ASP.Net with Entity Framework

Problemi correlati