2011-05-18 14 views
15

tengo esta consulta LINQ:falló en la llamada a 'SelectMany'

 var businessAffiliates = from b in context.Businesses 
           from ba in b.BusinessOfficers 
           from p in ba.Person          
           select b; 

pero estoy consiguiendo este error:

An expression of type 'myproj.Models.Person' is not allowed in a subsequent from clause in a query expression with source type 'System.Linq.IQueryable'. Type inference failed in the call to 'SelectMany'.

+1

La consulta parece incompleta, ¿puede incluir el resto? Si esto es todo, ¿por qué las cláusulas adicionales 'from'? –

+1

¿Cuál es el objetivo de esta consulta? ¿Cómo difiere de 'var query = context.Businesses'? –

+0

indique lo que realmente desea que suceda y no solo el error que está recibiendo. Tengo una idea, pero prefiero no participar en la depuración psíquica, y si su pregunta es ayudar a otras personas en Internet, deberían poder * encontrarla *. –

Respuesta

21

Parece que ba.Person que un solo objeto , pero la cláusula from espera una secuencia de objetos. si reemplaza esa línea con let p = ba.Person, entonces funcionaría. Pero me pregunto por qué necesita esas cláusulas adicionales from.

+1

¡Me salvaste el día! – vines

Cuestiones relacionadas