c# - 错误:在尝试连接两个数据表时找不到源类型数据表的查询实现和未找到连接
问题描述
无法使用 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
});
解决方案
尝试这个。
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")
});
推荐阅读
- mesos - 如何在 minidcos CLI 中安装 kubernetes 包
- jquery - jquery 验证插件无法显示关于 maxlength 的“textarea”的验证消息
- java - 编程音乐播放器 AB 重复
- elisp - 如何将列表中的成员作为字符串传递给另一个函数?
- ios - 如何使用包含从 Linux 到 iOS 设备的 `XCTest` 单元测试的`Test` 构建运行在 MacOSX 上构建的 iOS 应用程序
- android - Androidx:WorkManager 的 enqueue 方法没有运行 Worker
- python - 在python中的字符串中的任何元音之前或之后立即删除“y”
- excel - excel vba Catch 22 与运行时错误 49 错误的 DLL 调用约定
- python - Celery:使工作进程和子进程(或线程)共享 GPU 分配的数据
- java - 检测 POJO 变化的侵入性最小的方法是什么?