Solved

Selecting EntityCollection into collection using LINQ

Posted on 2010-11-20
4
1,854 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

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

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

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.

803 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