DbContext and Generics

本文关键字:Generics and DbContext | 更新日期: 2023-09-27 18:00:26

有了DataContext,我可以做一些类似的事情

public IQueryable<T> All()
{
   return db.CreateObjectSet<T>().AsQueryable();
}

(作为通用存储库类的一部分,CRUD的其余操作以类似的方式处理)

我想看看DbContext是否也有可能:即是否可以返回T的Queryable?入门看起来有点像它可能会有所帮助,但并不完全。。。有什么想法吗?

DbContext and Generics

DbSet实现IQueryable

这应该有效:

public IQueryable All()
{
    return db.Set<T>();
}

如果你想返回一个Queryable,可以是这样的:

public virtual IQueryable GetAll()
{
    return dbContext.Set<T>();
}

事实上,我不久前在博客上写过关于如何使用EF4.1创建通用存储库的文章看看:

http://davidandersonlino.net/blog/2011/04/28/generic-repository-pattern-com-entity-framework-4-1/

希望我回答了你的问题。