我正在使用MSDN Dynamic linq来实现sql包。它允许使用字符串进行查询。
但是,返回的类型是IQueryable
而不是IQueryable<T>
。我没有ToList()
方法。
如果不手动枚举IQueryable
?
我的目标是数据绑定到linqtosql数据源上的Selecting事件,并抛出一个datacontext处置异常。我可以在gridview上将查询设置为数据源。
任何帮助非常感谢!感谢。
动态linq to sql是visual studio附带的样本中的一个。
答案 0 :(得分:2)
IQueryable
和IQueryable<T>
之间的区别在于第二个是键入而第一个不是。要将IQueryable
转换为IQueryable<T
&gt;您可以使用Cast<T>()
方法。
IQueryable myQueryable = ...;
IQueryable<MyType> myTypedQueryable = myQueryable.Cast<myQueryable>();
IList<MyType> myList = myTypedQueryable.ToList();
显然myQyeryable
的内容必须可以转换为MyType
。要选择特定类型的实例,您可以在执行转换之前使用TypeOf<T>()
方法。