2010-06-18 30 views
2
/// <summary> 
    /// Find all of the Areas that are Parents without children Areas. 
    /// </summary> 
    /// <returns>IQueryable object full of Areas.</returns> 
    public IQueryable FindParentAreas() 
    { 
     return db.Areas.SelectMany(x => x.ParentAreaID == null); 
    } 

我想返回父區域的Area對象集合,這意味着它們在ParentAreaID字段(在我的數據庫中)中有空值。無法從使用情況推斷方法的類型參數。嘗試指定類型參數ex - 錯誤。任何指導?

看來我不能將它與null進行比較,因爲C#中的null可能意味着Microsoft SQL Server中的其他東西。

任何指導?我是否應該使用SelectMany?

回答

6

Enumerable.SelectMany

項目的序列中的每個元素到IEnumerable <Ť>和結果序列合併爲一個序列。

Enumerable.Where

篩基於謂詞值的序列。

我認爲你正在尋找Where

public IQueryable<Area> FindParentAreas() 
{ 
    return db.Areas.Where(x => x.ParentAreaID == null); 
} 
+0

謝謝!但是,我仍然收到錯誤 - 「類型參數不能被傳遞」。看來我需要更加明確'空',但我不知道如何。 – 2010-06-18 16:12:10

+0

Nevermind - 我按Ctrl + Shift + B重建,現在它沒有任何錯誤。謝謝! – 2010-06-18 16:23:56

2

我想你想用在哪裏:

return db.Areas.Where(x => x.ParentAreaID == null) 
相關問題