有关Linq的问题

wine12 2011-08-03 11:00:44
笨鸟又有问题想请教大虾们啦,呵呵,我现在有多个DataTable在内存中,假设就三个吧,分别为:table1、table2、table3 我现在就是想用Linq写一个方法来对三个数据表中的数据进行联合查询得到自己所想要的结果集,当然,这个结果集可能从不同的方法进来取得时候所需要的列信息会有所不同,我现在就是想问:是不是每个不同列信息的就必须新建一个查询呢?也就是说,如下吧
比如从第一个地方进来我需要:A、B、C三列就可以写成如下:
var query1 =from t1 in table1.AsEnumerable()
from t2 in table2.AsEnumerable()
from t3 in table3.AsEnumerable()
where t1.field<string>("Id")==t2.field<string>("guid")
where t2.field<string>("hId")==t3.field<string>("TId")
select new
{
A=....,
B=....,
C=....
};
那如果我第二次从另外一个地方进来我需要的是:E、F、G、H 四列,是不是又要重写一遍如下:
var query2 =from t1 in table1.AsEnumerable()
from t2 in table2.AsEnumerable()
from t3 in table3.AsEnumerable()
where t1.field<string>("Id")==t2.field<string>("guid")
where t2.field<string>("hId")==t3.field<string>("TId")
select new
{
E=....,
F=....,
G=....,
H=....
};
这样呢??其实他们就只是列不同而已,可不可以上面那一段公用一下,下面的就来判断,然后决定用哪些列信息呢??还是说必须就得这样呢??各位大虾,请给小弟给给建议吧,谢谢啦!!
...全文
87 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接返回select new{t1, t2, t3}呢?
ustbwuyi 2011-08-03
  • 打赏
  • 举报
回复
简单点处理的话你可以都取,反正到时候只用那几个字段不就完了。
wine12 2011-08-03
  • 打赏
  • 举报
回复
大虾们,快给给意见啊!!!
wine12 2011-08-03
  • 打赏
  • 举报
回复
看了还是分开来好些,呵呵
wine12 2011-08-03
  • 打赏
  • 举报
回复
是强类型的
  • 打赏
  • 举报
回复
然后 query1.t1.field1访问table1中的field1字段
这里不知道你的DataTable是否强类型的
wine12 2011-08-03
  • 打赏
  • 举报
回复
然后呢??
难得的学习LINQ的中文资料,很全很详细,包内包括两个文档: 一个是语言集成查询.pdf,内容简介如下: 1.LINQ 简介 简要介绍可编写的各种应用程序,以及使用 LINQ 查询可以解决的各种问题。 2.C# 中的 LINQ 入门 描述为理解 C# 文档和示例所应了解的基本情况。 3.Visual Basic 中的 LINQ 入门 描述为理解 Visual Basic 文档和示例所应了解的基本情况。 4.如何:创建 LINQ 项目 介绍生成 LINQ 项目所需的 .NET Framework 版本、引用和命名空间。 5.对 LINQ 的 Visual Studio IDE 和工具支持 描述对象关系设计器、对查询的调试器支持以及其他与 LINQ 相关的 IDE 功能。 6.LINQ 常规编程指南 提供了指向相关主题的链接,这些主题包含有关如何使用 LINQ 进行编程的信息,例如标准查询运算符、表 达式目录树和查询提供程序。 7.LINQ to Objects 包含指向相关主题的链接,这些主题说明如何使用 LINQ to Objects 来访问内存中的数据结构。 8.LINQ to XML 包含指向说明如何使用 LINQ to XML 的主题的链接,此功能可提供文档对象模型 (DOM) 的内存中文档修改 功能,并且支持 LINQ 查询表达式。 9.LINQ to ADO.NET(门户页) 提供 linq_dataset 和 vbtecdlinq 相关文档的入口点。 LINQ to DataSet 使您可以通过使用为其他数据源提供的相同查询功能,在 DataSet 中加入更丰富的查询功能。 LINQ to SQL 为将关系数据作为对象进行管理提供了运行时基础结构。 10.补充的 LINQ 资源 指向 LINQ 相关信息的其他联 另一个是LINQ to ADO.net.pdf 描述linq如何与ado.net结合使用
难得的学习LINQ的中文资料,很全很详细,包内包括两个文档: 一个是语言集成查询.pdf,内容简介如下: 1.LINQ 简介 简要介绍可编写的各种应用程序,以及使用 LINQ 查询可以解决的各种问题。 2.C# 中的 LINQ 入门 描述为理解 C# 文档和示例所应了解的基本情况。 3.Visual Basic 中的 LINQ 入门 描述为理解 Visual Basic 文档和示例所应了解的基本情况。 4.如何:创建 LINQ 项目 介绍生成 LINQ 项目所需的 .NET Framework 版本、引用和命名空间。 5.对 LINQ 的 Visual Studio IDE 和工具支持 描述对象关系设计器、对查询的调试器支持以及其他与 LINQ 相关的 IDE 功能。 6.LINQ 常规编程指南 提供了指向相关主题的链接,这些主题包含有关如何使用 LINQ 进行编程的信息,例如标准查询运算符、表 达式目录树和查询提供程序。 7.LINQ to Objects 包含指向相关主题的链接,这些主题说明如何使用 LINQ to Objects 来访问内存中的数据结构。 8.LINQ to XML 包含指向说明如何使用 LINQ to XML 的主题的链接,此功能可提供文档对象模型 (DOM) 的内存中文档修改 功能,并且支持 LINQ 查询表达式。 9.LINQ to ADO.NET(门户页) 提供 linq_dataset 和 vbtecdlinq 相关文档的入口点。 LINQ to DataSet 使您可以通过使用为其他数据源提供的相同查询功能,在 DataSet 中加入更丰富的查询功能。 LINQ to SQL 为将关系数据作为对象进行管理提供了运行时基础结构。 10.补充的 LINQ 资源 指向 LINQ 相关信息的其他联 另一个是LINQ to ADO.net.pdf 描述linq如何与ado.net结合使用

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧