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

时间:2017-03-18 10:24:13

标签: c# database entity-framework orm entity-framework-6

我正在使用Entity Framework来读取/写入数据到DB,并想知道是否有办法按类型获取实体。例如:我有Student表和Classroom表(实际上,我有一堆表)。我想通过使用类型或实体名称来吸引所有学生。基本上我需要通用的东西来读取数据库中的数据。

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

我需要这样的东西:

IQueryable

dbContext.GetEntities<T>()

1 个答案:

答案 0 :(得分:4)

你在找这个吗?

"//img[contains(@src,'pencil_100px.png')]"

您可以将DbSet<T> allEntities = yourDbContext.Set<T>(); 替换为任何实体类型,例如与T

Student

如果您需要DbSet<Student> allStudents = yourDbContext.Set<Student>(); ,请使用IQueryable

.AsQueryable()

请参阅official MSDN documentation on DbContext了解更多详情以及该课程的更多属性和方法