繁体   English   中英

在Crystal Report Entity Framework C#中联接两个表

[英]Join two tables in crystal report Entity Framework c#

我有两个表Estate和EstateType。 但是我不知道如何编写适当的LINQ查询以使其成为水晶报表的数据源。 在此处输入图片说明

在此处输入图片说明

Agency_Kursovaya_v5Entities AgencyContext= new Agency_Kursovaya_v5Entities();
    public EstateReportForm()
    {
        InitializeComponent();
        AgencyContext = new Agency_Kursovaya_v5Entities();
        //var a = AgencyContext.Estate.GroupJoin()
        //AgencyContext.Estate.Join(AgencyContext.EstateType.Where())
        //ObjectSet<Estate> estates = new Estate();
        //ObjectSet<EstateType> estateTypes = new AgencyContext.EstateType;
        AgencyContext.Estate.Where(id => id.EstateID > 0).ToArray();
        AgencyContext.EstateType.Where(etId => etId.EstateID > 0).ToArray();

    }

    private void EstateReportForm_Load(object sender, EventArgs e)
    {

    }

    private void crystalReportViewer1_Load(object sender, EventArgs e)
    {
        //var estJoin = (from est in AgencyContext.Estate join eType in AgencyContext.EstateType on est.EstateID equals eType.EstateID where est.EstateID == eType.EstateID select est).ToArray();
        //var clByEst =
        //   (from c in AgencyContext.Client
        //    join esT in AgencyContext.Estate on c.ClientID equals esT.ClientID
        //    select c.ClientName).ToArray();
        EstateDataSet estateDataSet =new EstateDataSet();
        BindingSource bindingSource = new BindingSource();
        bindingSource.DataSource = estateDataSet;
        EstateCrystalReport estateCrystalReport1 = new EstateCrystalReport();
        crystalReportViewer1.ReportSource = estateCrystalReport1;
        crystalReportViewer1.Refresh();

    }

如果您正在使用CrystalReports和多个表中的数据,则将在报表中执行联接(请参阅报表设计器中的Database Expert... -> Links )。 您可以这样设置报表数据源:

var est = AgencyContext.Estate.Where(...).ToArray();
var etype = AgencyContext.EstateType.Where(...).ToArray();

// You might have to enter debug mode to determine the correct Table indicies
estateCrystalReport1.Database.Tables[0].SetDataSource(est);
estateCrystalReport1.Database.Tables[1].SetDataSource(etype);

您可以在此处引用StackOverflow答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM