Selecting EntityCollection into collection using LINQ

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?
pipelineconsultingAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
pipelineconsultingConnect With a Mentor Author Commented:
I seem to have solved the problem myself by adding .AsQueryable at the end of the LINQ statement
0
 
BurniePCommented:
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
 
pipelineconsultingAuthor Commented:
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
 
pipelineconsultingAuthor Commented:
Problem solved by myself after checking on MSDN
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.