I've adjusted my solution as was suggested and while I do not get the error I was once getting the grid still does not load the grid with the first 20 rows of the dataset and allow me to page to the next 20, etc. As I mentioned in my initial ticket, we are using DevExpress datagrid not the Blazorise grid.
I have updated the git repo with the implemented suggestion
Hi,
I am trying to return from my application service an IQueryable<DataDictionary> so that I can use DevExpress's Blazor WASM grid for large datasets (https://demos.devexpress.com/blazor/Grid/DataBinding/LargeQueryable)and I am getting the error below in my application service.
Any idea what the underlying problem is and how I can fix it? I've given access to the private repository with a sample project to @maliming
Steps to Reproduce.
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Unhandled exception rendering component: The collection type 'System.Linq.IQueryable1[AbpSolution1.DataDictionaryDto]' is abstract, an interface, or is read only, and could not be instantiated and populated. Path: $ | LineNumber: 0 | BytePositionInLine: 1. System.NotSupportedException: The collection type 'System.Linq.IQueryable
1[AbpSolution1.DataDictionaryDto]' is abstract, an interface, or is read only, and could not be instantiated and populated. Path: $ | LineNumber: 0 | BytePositionInLine: 1.
---> System.NotSupportedException: The collection type 'System.Linq.IQueryable1[AbpSolution1.DataDictionaryDto]' is abstract, an interface, or is read only, and could not be instantiated and populated. --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ThrowNotSupportedException(ReadStack& state, Utf8JsonReader& reader, Exception innerException) at System.Text.Json.ThrowHelper.ThrowNotSupportedException_CannotPopulateCollection(Type type, Utf8JsonReader& reader, ReadStack& state) at System.Text.Json.Serialization.Converters.IEnumerableOfTConverter
2[[System.Linq.IQueryable1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].CreateCollection(Utf8JsonReader& reader, ReadStack& state, JsonSerializerOptions options) at System.Text.Json.Serialization.JsonCollectionConverter
2[[System.Linq.IQueryable1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, IQueryable
1& value)
at System.Text.Json.Serialization.JsonConverter1[[System.Linq.IQueryable
1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, IQueryable1& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.JsonConverter
1[[System.Linq.IQueryable1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].ReadCore(Utf8JsonReader& reader, IQueryable
1& value, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.Serialization.Metadata.JsonTypeInfo1[[System.Linq.IQueryable
1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].Deserialize(Utf8JsonReader& reader, ReadStack& state)
at System.Text.Json.JsonSerializer.ReadFromSpan[IQueryable1](ReadOnlySpan
1 utf8Json, JsonTypeInfo1 jsonTypeInfo, Nullable
1 actualByteCount)
at System.Text.Json.JsonSerializer.ReadFromSpan[IQueryable1](ReadOnlySpan
1 json, JsonTypeInfo1 jsonTypeInfo) at System.Text.Json.JsonSerializer.Deserialize[IQueryable
1](String json, JsonSerializerOptions options)
at Volo.Abp.Json.SystemTextJson.AbpSystemTextJsonSerializer.Deserialize[IQueryable1](String jsonString, Boolean camelCase) at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase
1.<RequestAsync>d__351[[AbpSolution1.IDataDictionaryAppService, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Linq.IQueryable
1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptorClientProxy1.<CallRequestAsync>d__0
1[[AbpSolution1.IDataDictionaryAppService, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Linq.IQueryable1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext() at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor
1.<CallRequestAsync>d__261[[AbpSolution1.IDataDictionaryAppService, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[System.Linq.IQueryable
1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor1.<GetResultAsync>d__27[[AbpSolution1.IDataDictionaryAppService, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext() at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor
1.<InterceptAsync>d__24[[AbpSolution1.IDataDictionaryAppService, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.<InterceptAsync>d__3
1[[Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor1[[AbpSolution1.IDataDictionaryAppService, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Volo.Abp.Http.Client, Version=9.1.1.0, Culture=neutral, PublicKeyToken=null],[System.Linq.IQueryable
1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
at Castle.DynamicProxy.AsyncInterceptorBase.<ProceedAsynchronous>d__141[[System.Linq.IQueryable
1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.<ProceedAsync>d__7[[System.Linq.IQueryable
1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.<InterceptAsync>d__3
1[[Volo.Abp.Validation.ValidationInterceptor, Volo.Abp.Validation, Version=9.1.1.0, Culture=neutral, PublicKeyToken=null],[System.Linq.IQueryable`1[[AbpSolution1.DataDictionaryDto, AbpSolution1.Application.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], System.Linq.Expressions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
at CFData.Structure.Lexicon.Blazor.DataDictionaryManagement.GetEntitiesAsync() in D:\ABPSample4\AbpSolution1\src\AbpSolution1.Blazor.Client\Pages\DataDictionaryManagement.razor.cs:line 40
at CFData.Structure.Lexicon.Blazor.DataDictionaryManagement.OnInitializedAsync() in D:\ABPSample4\AbpSolution1\src\AbpSolution1.Blazor.Client\Pages\DataDictionaryManagement.razor.cs:line 31
at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)
Now you're just responding with nonsense. Not even going to try to understand what you're saying now.
I'm sorry Maliming, but the code I gave you access to on Git yesterday was the same code you you commented back on today. I don't buy your excuse regarding this. You told me two different answers in a matter of 90 minutes while you were looking at the latest code that you had access to and that was only because I pressed on understanding the details. Please don't blame this on me.
Come on Maliming!!! Now you're saying something completely different then what you originally did!!! Do you understand why I'm just so frustrated with your responses. I ask you specific questions so I can understand why the ABP framework works the way it does and you ignore the question the first 2 times and then when you finally respond to the specific question you say something completely different regarding the root cause of my issue. I would not have asked my question 3 times had you just told me what the core issue was to begin with!
Look back on your responses!!!! First you tell me it's because I didn't implement the IMultiTenant interface for an entity that isn't even used on the Company Management screen now you tell me it has nothing to do with IMultiTenant?
Not really happy with the support we get from ABP!!
Hi,
Can you please give me the details of this? I spend 3 weeks trying to resolve this issue where as when my code was based on ABP7 it all worked. Now with ABP9 I encountered this issue. You explained the cause of the issue was an entity (not implementing the IMultiTenant interface) that isn't even used on the Company Management screen. So for a 3rd time I am asking you to please provide me with more detail in why this was occurring
Hi,
But you didn't answer my question
"Ok, what you are showing me looks correct....however what I'm not understanding is the UserPermissionView entity that you mentioned isn't even used on the Company Management screen so why would that affect the current tenant not being accessible? My initial problem started when I couldn't see the companies because the current tenant was not set and the datafilter thus didn't get applied for the query behind this page.
Why would an entity not implanting the IMultiTenant interface even be relevant on a page that doesn't use it?"
Ok, what you are showing me looks correct....however what I'm not understanding is the UserPermissionView entity that you mentioned isn't even used on the Company Management screen so why would that affect the current tenant not being accessible? My initial problem started when I couldn't see the companies because the current tenant was not set and the datafilter thus didn't get applied for the query behind this page.
Why would an entity not implanting the IMultiTenant interface even be relevant on a page that doesn't use it?
Companies should have gotten created when you created the new tenant. I'm in the process of building on my side so I can see.....it takes a while though.
Hi,
I'm a little confused. Your commit was only 1 file and had nothing to do with the entity you spoke about. Did you try going to the 'companies' nav item? Do 2 companies show on the Company Management page if you do?