Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用LINQ从嵌套SQL查询获取结果_C#_Sql_Linq To Sql_Dataset_Linq To Dataset - Fatal编程技术网

C# 使用LINQ从嵌套SQL查询获取结果

C# 使用LINQ从嵌套SQL查询获取结果,c#,sql,linq-to-sql,dataset,linq-to-dataset,C#,Sql,Linq To Sql,Dataset,Linq To Dataset,这是我的第一个问题,也是在Linq的第一天,所以这一天对我来说有点难理解。 我想从数据库中取出一些记录 i、 e 我已经拿了两张数据表。i、 e.TBL部门,tblMap 现在我想获取这个结果并将其存储在第三个数据表中 我怎样才能做到这一点 在谷歌搜索之后,我一直能够构建这个查询 var query = from myrow in _dtDepartment.AsEnumerable() where myrow.Field<int>("Department_I

这是我的第一个问题,也是在Linq的第一天,所以这一天对我来说有点难理解。 我想从数据库中取出一些记录

i、 e

我已经拿了两张数据表。i、 e.TBL部门,tblMap

现在我想获取这个结果并将其存储在第三个数据表中

我怎样才能做到这一点

在谷歌搜索之后,我一直能够构建这个查询

var query = from myrow in _dtDepartment.AsEnumerable()
            where myrow.Field<int>("Department_Id") == _departmentId
            select myrow;
var query=来自dtudepartment.AsEnumerable()中的myrow
其中myrow.Field(“部门Id”)===部门Id
选择myrow;
请为我提供一些学习
Linq
的链接,主要用于
DataTables
dataset

编辑:

我有一个非常类似的例子,但我仍然无法理解它是如何工作的。 请在上面放些手电筒


我想这样做是因为我已经从数据库中提取了数据,并且不想在已经有数据的情况下再次发送请求。但是我想根据条件过滤这些数据。

您尝试的不是实际的LINQ到SQL。这是一个常见的误解。在LINQ To SQL中,您可以用一种简单的方式将一些表映射到实体,然后在运行时,框架将通过SQL转换LINQ查询,并将其作为预定义的强类型实体对象返回。(我使用“实体”作为一个描述性术语;与实体框架无关。)LINQ到SQL是您所做的事情,而不是ADO.NET

您所做的是LINQtoObject的一种风格,通常称为“LINQtoDataSet”,我经常使用它。扩展方法
.AsEnumerable()
IEnumerable
对象中返回数据表的数据行,这非常方便。但是,使用LINQ To DataTable,您要么(A)没有强类型对象,要么(B)您自己负责将数据放入强类型对象中。在您像往常一样使用ADO.NET之后,LINQ to DataTable是一种将数据从ADO.NET DataTables中取出并放入其他内容(无论是什么内容)的好方法

上面的LINQ查询将获取已经针对DB运行的DataTable,并返回一个
IEnumerable
,这很好。做:

在LINQ声明之后,请执行以下操作:

For Each DataRow in query
    //Do your stuff
Next
如果此时确实需要一个DataTable对象,那么。但是你真的需要一个数据表吗

  • (有时称为LINQ到数据表)

我得推荐一本关于林克的好书。林克岩石。在一个似乎有太多我们需要学习的.NET世界中,LINQ值得花时间真正理解。Get:。

如果您使用linq to sql/linq to entities,则不需要数据表/数据集。所有内容都将在强类型对象中。我正在将一个结果从sql提取到DataTable中,然后将该结果传递给接受DataTable或dataset的用户控件,然后在用户控件代码中的该位置,我需要使用某种方法来查询该DataTable。为此,我想使用DataTable。请提供一些好的资源,以及与linq合作。我是Linq.Thx中的一个空白页,用于获取信息,在本例中,这将被称为什么。以及如何与两者一起工作。i、 e Linq及以上给定代码。它既使用linq语法,也使用其他一些东西。我不知道该怎么命名。@帕特里克:我想我需要一个数据表,因为我有一对多关系的记录,比如结果a,那么a中的这些多个将再次映射为一对多sa结果B,即1-4,然后这些4-*。和结果将以代表第一个关系的重复结果显示在表单上。将显示A的所有结果,并显示其对应的B的结果。但它们不应该显示在网格上。它们将显示在formI上,我想我的第一个链接(我刚才添加的)将是您需要的。您将使用类似于:
Var boundTable=query.CopyToDataTable()
For Each DataRow in query
    //Do your stuff
Next