2010-03-12 88 views
4

我正在使用MSDN動態LINQ到SQL包。它允許使用字符串進行查詢。動態查詢立即執行?

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

我該如何立即執行而不用手動列舉IQueryable

我的目標是將數據綁定到linqtosql數據源上的選擇事件,並拋出datacontext處置異常。我可以將查詢設置爲gridview上的數據源。

任何幫助非常感謝!謝謝。

動態linq to sql是Visual Studio自帶的示例中的一個。

回答

2

IQueryableIQueryable<T>之間的區別在於第二種是鍵入,而第一種不是。要將IQueryable轉換爲IQueryable<T>您可以使用Cast<T>()方法。

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

明顯的myQyeryable內容必須被強制轉換成MyType。要選擇某種類型的實例,可以在執行轉換之前使用TypeOf<T>()方法。