2011-05-18 113 views
15

我有這樣的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

回答

21

它看起來像ba.Person它的單個對象,但from子句需要一系列對象。 如果你用let p = ba.Person替換該行,那麼它會工作。但我想知道爲什麼你需要這些額外的from子句。

+1

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