C# 实体框架:获取具有特定类型的所有实体

C# 实体框架:获取具有特定类型的所有实体,c#,database,entity-framework,orm,entity-framework-6,C#,Database,Entity Framework,Orm,Entity Framework 6,我正在使用实体框架向数据库读/写数据,并想知道是否有办法按类型获取实体。例如:我有学生表格和教室表格(实际上,我有一堆表格)。我想通过使用类型或实体名称来获取所有学生。基本上,我需要一些通用的东西来读取数据库中的数据 我的解决方案是使用反射来读取返回IQueryable的DbContext属性,但似乎应该有另一种方法。如果是这样,有人能告诉我怎么做吗 我需要这样的东西: dbContext.GetEntities() 或 你在找这个吗 DbSet<T> allEntities = y

我正在使用实体框架向数据库读/写数据,并想知道是否有办法按类型获取实体。例如:我有
学生
表格和
教室
表格(实际上,我有一堆表格)。我想通过使用类型或实体名称来获取所有学生。基本上,我需要一些通用的东西来读取数据库中的数据

我的解决方案是使用反射来读取返回
IQueryable
DbContext
属性,但似乎应该有另一种方法。如果是这样,有人能告诉我怎么做吗

我需要这样的东西:

dbContext.GetEntities()


你在找这个吗

DbSet<T> allEntities = yourDbContext.Set<T>();  
如果您需要
IQueryable
,只需使用
.AsQueryable()

IQueryable-allStudents=yourDbContext.Set().AsQueryable();

有关该类的更多详细信息以及更多属性和方法,请学习

如何指定类型?也许你应该添加一些试探性的代码来澄清你想要什么。我认为它有点不清楚,但不应该关闭。它得到了@marc_s的恰当回答
DbSet<T> allEntities = yourDbContext.Set<T>();  
DbSet<Student> allStudents = yourDbContext.Set<Student>();  
IQueryable<Student> allStudents = yourDbContext.Set<Student>().AsQueryable();