5

ADN.NETデータセットを使用したレポート(SSRS)の開発経験がありました。今私は、ADO.netを使用していないエンティティフレームワークを使用しているアプリケーションで作業していますが、エンティティフレームワークはデータテーブルまたはデータセットを返しません。私は知りたいEntity Frameworkを使用したレポートサービス

  1. レポートサービスでエンティティフレームワークによって返されるコレクションオブジェクトまたはカスタムオブジェクトを使用する方法はありますか?
  2. エンティティフレームワークは何とかデータテーブルまたはデータセットを返します。

または、エンティティフレームワークによって手動で返されたコレクションからデータテーブル/データセットを作成する必要があります。

私は、エンティティフレームワークからストアドプロシージャを実行することで結果セットを取得しています。

+0

あなたはこの質問への答えで見たことがありますか? http://stackoverflow.com/questions/15146425/creating-reports-in-asp-net-with-entity-framework – Nathan

答えて

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

オリジナルソース:Creating Reports in ASP.Net with Entity Framework

関連する問題