首页 > 解决方案 > 错误:在尝试连接两个数据表时找不到源类型数据表的查询实现和未找到连接

问题描述

无法使用 linq 连接两个表 - 我收到此错误

尝试连接两个数据表时找不到源类型数据表的查询实现和未找到连接

请任何可能的解决方案

DataSet dsSales = OfflineBilling.CreateDatasetFromXML("Salesmaster.xml");

DataTable dtmaster = dsSales.Tables[0].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();
DataTable dtitems = dsSales.Tables[1].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();

var query = from d in dtmaster
            join c in dtitems on d.ReceiptId equals c.ReceiptId
            .Select(m => new
                        {
                            ReceiptId = d.ReceiptId
                        });

标签: c#winformslinq

解决方案


尝试这个。

        DataSet dsSales = OfflineBilling.CreateDatasetFromXML("Salesmaster.xml");
        DataTable dtmaster = dsSales.Tables[0].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();
        DataTable dtitems = dsSales.Tables[1].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();


        var query = from d in dtmaster.AsEnumerable()
                    join c in dtitems.AsEnumerable() on d.Field<string>("ReceiptId") equals c.Field<string>("ReceiptId")
                    .Select(new
                    {
                        ReceiptId = d.Field<string>("ReceiptId")
                    });

推荐阅读