簡體   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