.net EF如何实例化DbContext属性?反射
EF如何实例化DbContext属性 我是说,你有自己的背景.net EF如何实例化DbContext属性?反射,.net,entity-framework,.net,Entity Framework,EF如何实例化DbContext属性 我是说,你有自己的背景 public class ProductContext : DbContext{ public DbSet<Category> Categories { get; set; } public DbSet<Product> Products { get; set; } } 当您访问属性Categories时,该属性不为空,它已由DbContext创建 所以我的问题是,DbContext如何
public class ProductContext : DbContext{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
当您访问属性Categories时,该属性不为空,它已由DbContext创建
所以我的问题是,DbContext如何实例化这些类
我脑海中闪现的唯一方式是在DbContext构造函数的new()中使用反射
请注意,我不想知道用反射实例化属性的代码,我知道如何用反射实例化属性,所以我为什么要问这个问题?因为它通过反射操作看起来非常慢
因此,也许这是另一种更快的方式,我不知道。如果是的话,那更快的方式就是我想要的
或者它实际上是通过反射创建的,这也是“为什么不应该在一个DbContext中放置800多个表”的原因之一。每个上下文类型只放置一次,但是反射(可能是什么?)代码是可用的。不知道源代码是可用的。谢谢,我来看看。
using (var context = new ProductContext()) {
//context.Categories.XXXX
}
//1º Get all properties that the type inherits from DbSet
//2º Instatiate with reflection/activator