2013-06-28 41 views
0

我在Linq很新。我有個問題。我正在嘗試檢索文件列表。這是我寫的查詢。如何獲取對象列表?

var DataSource = from d in db.Directories 
       join dok in db.Files on d.DirectoryId equals dok.DirectoryId 
       where dok.SomeId == (int)cboSome.SelectedValue 
       select new { d }; 

這將檢索權限,但我想檢索文件列表。當我通過將var轉換爲Files來獲取數據源時,它將返回null。我怎樣才能做到這一點?對不起,如果它太簡單了。

+0

不知道你的問題是... –

+0

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

回答

3

你想要什麼結果呢?

如果你想從db.Directories導致的對象,嘗試這樣的事情:

var DataSource = (from d in db.Directories 
          join dok in db.Files on d.DirectoryId equals dok.DirectoryId 
          where dok.SomeId == (int)cboSome.SelectedValue 
          select d).ToList(); 

記得調用ToList()方法。

+0

非常感謝你的工作。我不知道選擇新的和選擇的區別。 – Ada

+0

select new返回一個nonnymus類型,它將實際對象包裝在您的案例中。 忘記那些東西,當你開始學習Linq – CSharpie

+0

謝謝你的幫助。 – Ada

2

有一個.ToList()擴展方法應該將任何IEnumerable轉換爲List

var List = DataSource.ToList();