Solved

Selecting EntityCollection into collection using LINQ

Posted on 2010-11-20
4
1,883 Views
Last Modified: 2012-05-10
I am trying to select a collection of entities into a custom class using the following code:

 
Public Function GetKeywordSummaries(ByVal _Keywords As EntityCollection(Of Keyword)) As System.Linq.IQueryable(Of KeywordSummary)

            Return (From k In _Keywords _
                        Order By k.Word _
                        Select New KeywordSummary With { _
                           .Id = k.Id, _
                           .Word = k.Word, _
                           .ArticleCount = k.Articles.Count})

        End Function

Open in new window


In the code, I have an entitycollection named Keywords and a custom class KeywordSummaries.

When executing the function, the following error occurs:

 
Unable to cast object of type 'WhereSelectEnumerableIterator`2[Pipeline.Blogjammer.Keyword,Pipeline.Blogjammer.KeywordSummary]' to type 'System.Linq.IQueryable`1[Pipeline.Blogjammer.KeywordSummary]'

Open in new window


Does anyone know why and how to get around this problem?
0
Comment
Question by:pipelineconsulting
  • 3
4 Comments
 
LVL 16

Expert Comment

by:BurnieP
ID: 34180131
I'm not sure, maybe you need to specify what type you are returning.  Gave you an example.

Public Function GetKeywordSummaries(_Keywords As EntityCollection(Of Keyword)) As System.Linq.IQueryable(Of KeywordSummary)

	Return (From k In _Keywords
                 Order By k.Word 
                 Select New KeywordSummary With { _
		 .Id = k.Id, _
		 .Word = k.Word, _
		 .ArticleCount = k.Articles.Count }).[Single](Of System.Linq.IQueryable(Of KeywordSummary))

End Function

Open in new window

0
 

Author Comment

by:pipelineconsulting
ID: 34180301
This doesn't seem to work.  I am getting an IntelliSense error in Visual Studio:

"Overload Resolution failed because no accessible 'Single' accepts this number of type arguments"
0
 

Accepted Solution

by:
pipelineconsulting earned 0 total points
ID: 34180976
I seem to have solved the problem myself by adding .AsQueryable at the end of the LINQ statement
0
 

Author Closing Comment

by:pipelineconsulting
ID: 34211357
Problem solved by myself after checking on MSDN
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question