2013-02-21 72 views
0

我使用這個通用的方法來查詢從我的表的信息:ADO.NET - 在實體框架使用AsQueryable已()

public virtual IQueryable<TObject> All() 
{ 
    return DbSetFilterDeleted.AsQueryable(); 
} 

但我的表之一,我需要做JOIN所以我需要修改這個。我對.NET有一點點經驗,但是從我的研究中我明白AsQueryable()可以被精確地修改以達到這些目的。

我的問題是如何修改它,以便我可以添加到我的查詢附加數據,比如說Post.Content,其中BlogId = FK_BlogId

+0

如果'DbSetFilterDeleted'已經實現'IQueryable ',那麼'.AsQueryable()'不會添加任何內容。如果'DbSetFilterDeleted'沒有實現'IQueryable ',那麼'.AsQueryable()'是有害的:對結果的任何操作都將在客戶機上執行,而不是在服務器上執行。 – hvd 2013-02-21 11:48:59

回答

1

您需要在查詢中使用Include聲明。 例如,如果您查詢Post s並想加入相關Content s;

myContext.Posts.Include("Content"); 

這將返回一個IQueryable<Post>類型的對象。