2011-07-27 129 views
0

我有一個類型爲「下載」的「IEnumerable」集合,並且正試圖返回集合中的產品匹配條件的下載集合。 以下是我迄今的嘗試。我認爲這個問題是我需要選擇父母,我收到鑄錯誤subtypeA不會投給父母等Linq:根據子集合選擇父項

public static IEnumerable<Download> GetDownloadsBasedOnProductId(int prodid) 
    { 
     var downloads = 
      (IEnumerable<Download>) 
      MyDataContext.Instance.Downloads.SelectMany(
        x => x.bmdAType).Where(
            a => a.Id == prodid); 
     return downloads; 
    } 

如何查詢子項目集合時返回正確類型的任何想法?

+0

您可以添加Download和Product類的聲明嗎?沒有,這個問題只能通過猜測來回答。 – dtb

+1

什麼是bmdAType? –

+0

感謝您的回覆。 bmdAType是一個IEnumerable - 是否需要更多信息? – mike

回答

1

你在找這樣的嗎?

public static IEnumerable<Download> GetDownloadsBasedOnProductId(int prodid) 
{ 
    return MyDataContext.Instance 
         .Downloads 
         .Where(download => downloads.Any(a => a.Id == prodid)); 
} 
+0

可能,嘗試執行時確實會拋出「對象引用未設置」的錯誤,但邏輯聽起來很合理。我會更多地考慮它 – mike