使用字符串从DbContext检索数据

本文关键字:检索 数据 DbContext 字符串 | 更新日期: 2023-09-27 18:25:05

使用实体框架,您可以通过以下操作轻松地从数据库中获取数据:

var allBooks = BookContext.Books;

因此,此代码返回"Book"表中的所有图书。

但我得到了一个字符串,告诉我需要数据的"表"。所以我有这样的东西:

public void GetData(string entity) // entity = "Book"
{
    // Get data using the "entity" string from BookContext
    BookContext.FromString(entity); // for exmaple
}

有没有一种方法可以使用字符串从BookContext检索数据?

使用字符串从DbContext检索数据

快速查看EF7的源代码可以发现,与以前的版本相比,DbContext类中没有任何Set(Type entityType)方法。只有它的通用版本Set<TEntity>()

所以我认为,如果不使用一些模糊的反射,这是不可能的。(Obscure,因为EF7没有任何DbSet类的非通用版本,这使得处理通过反射获得的集合变得非常困难)