EF如何实例化DbContext属性?
我的意思是,你有像
这样的背景public class ProductContext : DbContext{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
Greate,比你用它
using (var context = new ProductContext()) {
//context.Categories.XXXX
}
当您访问属性类别时,它不是NULL,它已经由 DbContext 创建了一些如何。
所以我的问题是,DbContext如何实例化这些类?
在DbContext构造函数 new()
中突然出现的唯一方法是反射//1º Get all properties that the type inherits from DbSet
//2º Instatiate with reflection/activator
请,我不想知道用反射来实例化属性的代码,我知道如何用反射来实现,所以为什么我要问?因为使用反射进行它看起来非常慢。
所以也许这是以另一种我不知道的更快的方式完成的。如果是,更快的方式就是我正在寻找的。 p>
或者它实际上是通过反射创建的,这是“为什么你不应该在一个DbContext中放置800多个表”的原因之一。