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

VB+ AnonymousType_4'2

1 Answer 77 Views
LINQ (LINQ specific questions)
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Jaspreet
Top achievements
Rank 1
Jaspreet asked on 01 Feb 2011, 11:02 PM
I am using multiple joins in a LINQ query to get the data out of multiple classes.

Here is my Query,

Dim AmPropertyAddress = (From AmericanPropAddress In scope.Extent(Of AmericanPropertyAddress)()
                                      Join PropertyAddressAssoc In scope.Extent(Of PropertyAddressAssociation)() On AmericanPropAddress.id Equals PropertyAddressAssoc.urbanPropertyAddress.id
                                        Where AmericanPropAddress.id = PlaceID
                                      Join GeographicLocationRelation In scope.Extent(Of GeographicLocationRelationship)() On PropertyAddressAssoc.propertyEntity.id Equals GeographicLocationRelation.toGeographicLocation.id
                                      Join ExchangeService In scope.Extent(Of ExchangeServiceArea)() On GeographicLocationRelation.fromGeographicLocation.id Equals ExchangeService.id
                                      Select New With {.StNumber = AmericanPropAddress.streetNrFirst,
                                                       .StNamePfix = AmericanPropAddress.streetNamePrefix,
                                                       .StName = AmericanPropAddress.streetName,
                                                       .StType = AmericanPropAddress.streetType,
                                                       .StSuffix = AmericanPropAddress.streetSuffix,
                                                       .StCity = AmericanPropAddress.locality,
                                                       .StState = AmericanPropAddress.stateOrProvince,
                                                       .StCountry = AmericanPropAddress.country,
                                                       .StZip = AmericanPropAddress.postcode,
                                                       .StNPANXX = ExchangeService.code}).ToList()
Return AmPropertyAddress

But i am getting this error:

An exception occured during the execution of '
Extent<Core180.AmericanPropertyAddress>.Join(Extent<Core180.PropertyAddressAssociation>, AmericanPropAddress => AmericanPropAddress.id, PropertyAddressAssoc => PropertyAddressAssoc.urbanPropertyAddress.id, (AmericanPropAddress, PropertyAddressAssoc) => new VB$AnonymousType_4`2(AmericanPropAddress = AmericanPropAddress, PropertyAddressAssoc = PropertyAddressAssoc)).Where($VB$It => ($VB$It.AmericanPropAddress.id == value(Core180BLL.PlaceBLL+_Closure$__7).$VB$Local_PlaceID)).Join(Extent<Core180.GeographicLocationRelationship>, $VB$It => $VB$It.PropertyAddressAssoc.propertyEntity.id, GeographicLocationRelation => GeographicLocationRelation.toGeographicLocation.id, ($VB$It1, GeographicLocationRelation) => new VB$AnonymousType_5`2($VB$It1 = $VB$It1, GeographicLocationRelation = GeographicLocationRelation)).Join(Extent<Core180.ExchangeServiceArea>, $VB$It => $VB$It.GeographicLocationRelation.fromGeographicLocation.id, ExchangeService => ExchangeService.id, ($VB$It1, ExchangeService) => new VB$AnonymousType_6`11(StNumber = $VB$It1.$VB$It1.AmericanPropAddress.streetNrFirst, StNamePfix = $VB$It1.$VB$It1.AmericanPropAddress.streetNamePrefix, StName = $VB$It1.$VB$It1.AmericanPropAddress.streetName, StType = $VB$It1.$VB$It1.AmericanPropAddress.streetType, StSuffix = $VB$It1.$VB$It1.AmericanPropAddress.streetSuffix, StLATA = $VB$It1.$VB$It1.AmericanPropAddress.locality, StCity = $VB$It1.$VB$It1.AmericanPropAddress.locality, StState = $VB$It1.$VB$It1.AmericanPropAddress.stateOrProvince, StCountry = $VB$It1.$VB$It1.AmericanPropAddress.country, StZip = $VB$It1.$VB$It1.AmericanPropAddress.postcode, StNPANXX = ExchangeService.code))'. See InnerException for more details.

The Inner Exception is :

{"Could not load type 'VB+AnonymousType_4`2' from assembly 'Telerik.OpenAccess.Runtime, Version=2010.3.1125.1, Culture=neutral, PublicKeyToken=7ce17eeaf1d59342'.":"VB+AnonymousType_4`2"}

I don't know how to resolve this, please help me.
Thanks in advance.


1 Answer, 1 is accepted

Sort by
0
Petko_I
Telerik team
answered on 07 Feb 2011, 11:18 AM
Hello Jaspreet,

Please, accept our apologies. You have encountered an issue with our implementation for multiple joins in queries written in Visual Basic. We will be working on fixing this as soon as possible. For the time being, there may be a way to rewrite the query so that joins are simulated. If you have associations in your persistent classes and you can navigate from the AmericanPropAddress to ExchangeService in a similar way to this AmericanPropAddress.PropertyAddressAssoc.GeographicLocation.ExchangeService, then you can use that approach instead of the join. You may need to start the selection from the persistent type which is involved in the many side of an association so that you traverse the one-side navigation properties. To illustrate this point, suppose that we have orders, for every order there is one customer and we have many order details. Then an example query which mimics a join and starts the selection from the many side would be:
Dim query = From orderDetail In Scope.OrderDetails _                       
         Select New With { _
           .Name = String.Concat(orderDetail.Order.Customer.ContactName, " ", orderDetail.Order.Customer.CompanyName) _
           }
If you can give us the structure of your persistent model we can tell you whether there is a workaround query that accomplishes the same result.

We do hope the provided information was helpful. Again, we apologize for the inconvenience caused.

Regards,
Petko_I
the Telerik team
Accelerate your learning with industry's first Telerik OpenAccess ORM SDK. Download today.
Tags
LINQ (LINQ specific questions)
Asked by
Jaspreet
Top achievements
Rank 1
Answers by
Petko_I
Telerik team
Share this question
or