LINQ查询中的通用方法 [英] Generic Method in LINQ query
问题描述
是否可以在LINQ查询中创建泛型方法
Is it possible to create generic method in LINQ query
公共类管理器
{
:
public DataSet pullRows< T>(string s1)
public DataSet pullRows<T>(string s1)
{
IEnumerable的< T> qResl =从VAL在MyTable的
IEnumerable<T> qResl = from val in MyTable
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;其中val.Column1 = S1
where val.Column1=s1
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;选择
(o =>新T(val))
select (o => new T(val))
:
:
返回ds;
return ds;
}
}
/ ///////
////////
尝试此选项
var query = < span style ="color:blue"> from val
in MyTbl
  ;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
其中 val.Price> 9.99
select new {val.Price,val.Genre};
query.CopyToDataTable(table,LoadOption.PreserveChanges);
var query = from val
in MyTbl
where val.Price > 9.99
select new { val.Price, val.Genre };
query.CopyToDataTable(table, LoadOption.PreserveChanges);
但我看到编译错误
错误 1&NBSP;类型 'AnonymousType#1' 不能被用作在通用类型或方法"System.Data.DataTableExtensions.CopyToDataTable<类型参数 'T'; T>(System.Collections.Generic.IEnumerable< T>中System.Data .DataTable,System.Data.LoadOption)'。
有一个从 'AnonymousType#1' 到 '的System.Data.DataRow' &NBSP没有隐式引用转换; C:\MSOfficeUtil\Manager.cs&NBSP; 44&NBSP; 13&NBSP; MSOfficeUtil
Error 1 The type 'AnonymousType#1' cannot be used as type parameter 'T' in the generic type or method 'System.Data.DataTableExtensions.CopyToDataTable<T>(System.Collections.Generic.IEnumerable<T>, System.Data.DataTable, System.Data.LoadOption)'. There is no implicit reference conversion from 'AnonymousType#1' to 'System.Data.DataRow'. C:\MSOfficeUtil\Manager.cs 44 13 MSOfficeUtil
提前致谢。
lb55
推荐答案
我建议查看
source (第110和113行),供CopyToDataTable了解如何编写自己的。
I would suggest looking at the source (line 110 and 113) for CopyToDataTable to understand how to write your own.
这篇关于LINQ查询中的通用方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!