LINQ compiled query DataBind issue
- by Brian
Hello All,
I have a pretty extensive reporting page that uses LINQ. There is one main function that returns an IQueryable object. I then further filter / aggregate the returned query depending on the report the user needs.
I changed this function to a compiled query, it worked great, and the speed increase was astonishing.
The only problem comes when i want to databind the results.
I am databinding to a standard asp.net GridView and it works fine, no problems.
I am also databinding to an asp.net chart control, this is where my page is throwing an error.
this works well:
GridView gv = new GridView();
gv.DataSource = gridSource;
But this does not:
Series s1 = new Series("Series One");
s1.Points.DataBindXY(gridSource, "Month", gridSource, "Success");
The error i receive is this:
System.NotSupportedException
Specified method is not supported
When i look into my gridSource var at run time i see this using a typical linq query:
SELECT [t33].[value2] AS [Year], [t33].[value22] AS [Month], [t33].[value3] AS [Calls]......
I see this after i change the query to compiled:
{System.Linq.OrderedEnumerable<<>f__AnonymousType15<string,int,int,int,int,int,int,int>,string>}
This is obviously the reason why the databindxy is no longer working, but i am not sure how to get around it. Any help would be appreciated!
Thanks