2009-11-05 45 views
0

我已經創建了我的數據庫,其中有: 藝術家,曲目和TracksPerArtistsasp.net MVC的讀取與表的關係數據

我可以通過實體模型做SQL查詢。例如,當我做:

database.TRACK.ToList() 

我得到的軌道列表顯示在索引視圖爲例。但我的外鍵空了。雖然有藝術家和曲目,並且ArtistsPerTrack的正確行,但我的track.ToList()集合中的這個項目是空的。

是否有不同的方式來獲取這些數據?

我來自cakePHP框架,您可以在其中定義Model.recursive屬性來聲明您想要獲取的關係的深度。

有什麼相似嗎?

回答

0

有類似的東西。 如果「數據庫」是的DataContext和藝術家和曲目有很多在數據庫中的許多關係,你可以使用include子句獲取相關實體:

database.TRACK.Include(「藝術家」)ToList()

其中「藝術家」是Track實體上的財產的名稱。

+0

現在我的ViewData.Model有一個非null ArtistsPerTrack字段,但雖然ArtistsPerTrack.track充滿了曲目詳細信息,ArtistsPerTrack.Artist爲null :( – gong 2009-11-05 14:13:06

+0

我不確定您的實體如何關聯,但也許你應該加載ArtistsPerTrack幷包含藝術家和曲目:database.artistsPerTrack.Include(「Artist」)。Include(「Track」)。ToList()。您也可以在訪問PropertyPerTrack.Artist之前調用ArtistsPerTrack.ArtistReference.Load()。 – 2009-11-05 17:12:53

+0

Your在我的DB協會的假設是正確的!然而,當我想展示跟蹤/索引頁,這只是自然的裝載軌道模型,對吧? 所以,如果我做db.Artist.Include(「artistPerTrack」)。ToList()你說我應該得到兩條曲目,並在每條曲目中獲得藝術家信息? – gong 2009-11-06 07:57:45