Instant execution of a dynamic query?

dynamic-linq linq sql

Question

I am using the MSDN Dynamic linq to sql package. It allows using strings for queries.

But, the returned type is an IQueryable and not an IQueryable<T>. I do not have the ToList() method.

How can I this immediate execute without manually enumerating over the IQueryable?

My goal is to databind to the Selecting event on a linqtosql datasource and that throws a datacontext disposed exception. I can set the query as the Datasource on a gridview though.

Any help greatly appreciated! Thanks.

The dynamic linq to sql is the one from the samples that comes with visual studio.

1
4
3/12/2010 11:04:57 PM

Accepted Answer

The difference between IQueryable and IQueryable<T> is that the second is typed while the first is not. To convert IQueryable into IQueryable<T> you can use the Cast<T>() method.

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

Obviously the contents of myQyeryable must be castable into MyType. To select the instances of a certain type you can use the TypeOf<T>() method before doing the cast.

2
3/12/2010 11:25:49 PM


Related Questions





Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow