gpt4 book ai didi

entity-framework - 使用 Entity Framework 的报告服务

转载 作者:行者123 更新时间:2023-12-04 07:22:47 24 4
gpt4 key购买 nike

我有使用 ado.net 数据集开发报告(SSRS)的经验。现在我正在开发一个不使用 ADO.net 而是 Entity Framework 但 Entity Framework 不返回数据表或数据集的应用程序。我想知道

  • 有没有办法在报告服务中使用 Entity Framework 返回的集合或自定义对象?
  • Entity Framework 以某种方式返回数据表或数据集。

  • 或者我应该手动从 Entity Framework 返回的集合中创建数据表/数据集。

    作为记录,我通过从 Entity Framework 执行存储过程来获取结果集。

    最佳答案

    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

    关于entity-framework - 使用 Entity Framework 的报告服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615862/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com