类型推断呼叫失败“的SelectMany”

问题描述:

我有这样的LINQ查询:类型推断呼叫失败“的SelectMany”

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

,但我收到此错误:

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

该查询看起来不完整,您可以包含其余部分吗?如果这是全部,为什么额外的'from'子句? – 2011-05-18 18:14:52

+1

这个查询有什么意义?它与'var query = context.Businesses'有什么不同? – 2011-05-18 20:00:41

+0

陈述你真正想要发生的事情,而不仅仅是你得到的错误。我有一个想法,但我宁愿不参与心理调试,如果你的问题是帮助互联网上的其他人,他们应该能够找到它。 – 2011-05-18 20:08:30

它看起来像ba.Person它的单个对象,但from子句需要一系列对象。 如果你用let p = ba.Person替换该行,那么它会工作。但我想知道为什么你需要这些额外的from子句。

+1

你已经救了我的一天! – vines 2012-04-29 01:10:01