【问题标题】:Entity Framework : get all entities with specific type实体框架:获取具有特定类型的所有实体
【发布时间】:2017-08-09 22:22:15
【问题描述】:

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

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

我需要这样的东西:

dbContext.GetEntities<T>()

dbContext.GetEntities(Type entityType)

【问题讨论】:

  • 你想如何指定类型?也许你应该添加一些暂定代码来阐明你想要什么。
  • 我认为它有点不清楚,但不应该关闭。 @marc_s 给出了适当的答案

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


【解决方案1】:

你在找这个吗?

DbSet<T> allEntities = yourDbContext.Set<T>();  

您可以将T 替换为您的任何实体类型,例如Student:

DbSet<Student> allStudents = yourDbContext.Set<Student>();  

如果您需要IQueryable,只需使用.AsQueryable()

IQueryable<Student> allStudents = yourDbContext.Set<Student>().AsQueryable();  

请研究official MSDN documentation on DbContext 以了解该类的更多详细信息以及更多属性和方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2014-09-20
    相关资源
    最近更新 更多