Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 to DataTable-获取DataTable问题(CopyToDataTable)中的查询值_C#_Linq_Datatable_Linq To Dataset - Fatal编程技术网

C# LINQ to DataTable-获取DataTable问题(CopyToDataTable)中的查询值

C# LINQ to DataTable-获取DataTable问题(CopyToDataTable)中的查询值,c#,linq,datatable,linq-to-dataset,C#,Linq,Datatable,Linq To Dataset,我的目标是完成连接操作,并且查询值必须存储在Datatable中 var query = from db_data1 in DBData1.AsEnumerable() join cust_data1 in DBData2.AsEnumerable() on db_data1.Field<string>("FULLNAME").Trim() equals cust_data1.Field<string>

我的目标是完成连接操作,并且查询值必须存储在Datatable中

var query = from db_data1 in DBData1.AsEnumerable()
            join cust_data1 in DBData2.AsEnumerable()
            on db_data1.Field<string>("FULLNAME").Trim() equals
            cust_data1.Field<string>("Name").Trim()
            where 
            cust_data1.Field<string>("Apartment").Trim() == db_data1.Field<string>("SERVICE_APARTMENT").Trim()
            &&   cust_data1.Field<string>("Name").Trim() == db_data1.Field<string>("FULLNAME").Trim()
            select new
              {
                  Name = db_data1.Field<string>("FULLNAME"),
                  ACCOUNT_NUMBER = db_data1.Field<string>("ACCOUNT_NUMBER")
              };

           DataTable merged;
           if (query.Any())
               merged = query.**CopyToDataTable**();
           else
               merged = DBData1.Clone();
但在这里我得到了COPYTODATABLE函数的错误

类型“AnonymousType1”不能用作 泛型类型或方法 'System.Data.DataTableExtensions.CopyToDataTableSystem.Collections.Generic.IEnumerable'。 没有从“AnonymousType1”到的隐式引用转换 “System.Data.DataRow”


如何解决此问题?

查询返回匿名类型的IEnumerable,因为您正在使用select new{}创建一个无类型序列


如果您选择使用确定的目标类型(即,选择CustDataRow),您将能够使用CopyToDataTable,尽管出于您的目的,这可能需要您创建一个帮助对象。

刚刚意识到这确实解释得很好。谢谢Rahul^^^