动态查询立即执行?

时间:2010-03-12 23:03:20

标签: sql linq dynamic-linq

我正在使用MSDN Dynamic linq来实现sql包。它允许使用字符串进行查询。

但是,返回的类型是IQueryable而不是IQueryable<T>。我没有ToList()方法。

如果不手动枚举IQueryable

,如何立即执行此操作?

我的目标是数据绑定到linqtosql数据源上的Selecting事件,并抛出一个datacontext处置异常。我可以在gridview上将查询设置为数据源。

任何帮助非常感谢!感谢。

动态linq to sql是visual studio附带的样本中的一个。

1 个答案:

答案 0 :(得分:2)

IQueryableIQueryable<T>之间的区别在于第二个是键入而第一个不是。要将IQueryable转换为IQueryable<T&gt;您可以使用Cast<T>()方法。

IQueryable myQueryable = ...;
IQueryable<MyType> myTypedQueryable = myQueryable.Cast<myQueryable>();
IList<MyType> myList = myTypedQueryable.ToList();

显然myQyeryable的内容必须可以转换为MyType。要选择特定类型的实例,您可以在执行转换之前使用TypeOf<T>()方法。