This is a migrated thread and some comments may be shown as answers.

[Solved] Grid + Open Access ORM + Filtering = Exception

3 Answers 65 Views
Grid
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
ET
Top achievements
Rank 1
ET asked on 19 Feb 2010, 08:50 PM
I'm trying to get server binding to work with the Telerik MVC Grid and Telerik Open Access ORM (Oracle DB/ODP driver). My view is stronly typed as taking an IEnumerable<Customer> and my controller returns "View(objectScope.Extent<Customer>());". Sorting works fine, paging works fine, but filtering gives me an "Object reference not set to an instance of an object." exception. Here is the stack:

[NullReferenceException: Object reference not set to an instance of an object.]
   Telerik.OpenAccess.Query.QueryContext.PerformDatabaseQuery(Type type, Expression expression, Int32& number, Boolean exec, Int32 numSkip, Int32 numTake, String aggregateMethod, ResultConverter& convert) +455
   Telerik.OpenAccess.Query.QueryContext.PerformDatabaseCountQuery(Expression expression) +167
   Telerik.OpenAccess.Query.QueryContext.ExecuteDynamic(Expression expressionParam, IQueryable`1 query) +273

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner) +0
   System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner) +72
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +251
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +28
   Telerik.OpenAccess.Query.QueryContext.ExecuteNonDynamic(Type src, Type trgt, Expression expressionParam, IQueryable prev) +137
   Telerik.OpenAccess.Query.ObjectScopeQuery`2.Execute(Expression expressionParam) +72
   Telerik.Web.Mvc.Extensions.QueryableExtensions.Count(IQueryable source) +143
   Telerik.Web.Mvc.Extensions.QueryableExtensions.ToGridModel(IQueryable queryable, Int32 page, Int32 pageSize, IList`1 sortDescriptors, IList`1 filterDescriptors) +66
   Telerik.Web.Mvc.UI.GridDataProcessor.EnsureDataSourceIsProcessed() +124
   Telerik.Web.Mvc.UI.GridDataProcessor.get_PageCount() +13
   Telerik.Web.Mvc.UI.GridRenderer`1.Pager() +478
   Telerik.Web.Mvc.UI.Grid`1.WriteFooter(IGridRenderer`1 renderer) +189
   Telerik.Web.Mvc.UI.Grid`1.WriteTable(IGridRenderer`1 renderer) +68
   Telerik.Web.Mvc.UI.Grid`1.WriteHtml(HtmlTextWriter writer) +269
   Telerik.Web.Mvc.UI.ViewComponentBase.Render() +102
   Telerik.Web.Mvc.UI.ViewComponentBuilderBase`2.Render() +22
   Telerik.Web.Mvc.UI.ViewComponentBuilderBase`2.ToString() +10
   System.Web.HttpWriter.Write(Object obj) +27
   System.Web.Mvc.SwitchWriter.Write(Object value) +15
   System.Web.UI.HtmlTextWriter.Write(Object value) +37
   ASP.views_customer_list_aspx.__RenderContent2(HtmlTextWriter __w, Control parameterContainer) in c:\WORK\SCRATCH\CustomerReference\CustomerReference.Application\Views\Customer\List.aspx:11
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   ASP.views_shared_site_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in c:\WINNT\Microsoft.Net\Framework\v4.0.30128\Temporary ASP.NET Files\gr\6cb545d7\f2c32d0a\App_Web_dfdnewqd.0.cs:0
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
   System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +55
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2671


Any thoughts?

Thanks.

3 Answers, 1 is accepted

Sort by
0
Atanas Korchev
Telerik team
answered on 22 Feb 2010, 09:28 AM
Hi E T,

Could you please specify which versions of OpenAccess and the mvc extensions you are using? We need those for troubleshooting purposes.

Regards,
Atanas Korchev
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
ET
Top achievements
Rank 1
answered on 22 Feb 2010, 01:32 PM
Sure.

I should mention that I'm using MVC 2 and Oracle 11.

Here are the version numbers for all of the Telerik DLLs in my web app's bin.

Telerik.OpenAccess.dll - 2009.3.1119.2
Telerik.OpenAccess.Query.dll - 2009.3.1119.2
Telerik.Web.Mvc.dll - 2009.3.1320.235

Thanks.
0
Jordan
Telerik team
answered on 24 Feb 2010, 11:07 AM
Hello ET,

It is expected that you get an exception when using the MVC grid  filtering feature with that version of OpenAccess, because an iif operator is used in the filtering expression and it cannot be translated correctly to SQL by that version of OpenAccess.
However, during the last couple of months we made significant improvements in our LINQ support.
I just tested with the same version of the Telerik MVC extensions but with the latest OpenAccess code and filtering is working fine.

In order to have filtering working with the MVC grid and OpenAccess you have two options:
1. Wait for the Q1 2010 release (due in mid March)
2. if you cannot wait until the Q1 release we could provide you with a custom build; please let us know if this is the case

Kind regards,
Jordan
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Tags
Grid
Asked by
ET
Top achievements
Rank 1
Answers by
Atanas Korchev
Telerik team
ET
Top achievements
Rank 1
Jordan
Telerik team
Share this question
or