2013-02-21 103 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>类型的对象。