TL;DR;
您能总结一下当我实例化扩展EF DbContext的类的实例时会发生什么吗?
Long
我想尽可能多地了解它,仅仅阅读源代码并不是很有效率,因为对接口和抽象类的引用很多.
我希望一步一步地,我就能更容易地识别出我在处理的是哪一部分。
我想为这个项目做出贡献,我想对所有的事情都有一个正确的理解.
那么,您能描述一下当我实例化一个类时会发生什么吗?
public class ProductContext : DbContext
{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}编辑1
让我举例说明我正在寻找的那种答案,以“发动一辆汽车”为例:
首先,在套接字中插入密钥。转动键实际上是一个3步的动作。当你稍微打开它,确认钥匙是否适合锁,并由内部电池供电,汽车启动电力系统,计算气体的数量,关闭外部灯,如断灯和前灯,关闭空调和恢复所有的内部电力发动机,这将使主机。
如果你再把它转动一点,同步系统就会启动,在气体泵和电动发动机旁边,使曲轴旋转并使活塞运动,这是正常运行的反向模式。如果任何齿轮被“设置”,汽车将移动,主引擎启动将失败。如果不是,气体泵会在活塞室喷出气体,同步系统会产生火花,探测气体,启动主机。在此之后,电机将停止工作,变压器将进入行动补充主电池。
如果同步系统和气泵继续完美地工作,活塞上的点火将继续以4周期的方式进行,并且汽车将准备好驾驶。如果不这样,汽车就会死掉,整个过程可以重复。
现在请注意,虽然“完整”和“技术”各点没有注意到,如油,水冷却,机械内部的发动机,齿轮箱和其他.但是,如果你有能力这样做,那就去做吧!
发布于 2015-12-10 17:22:47
我不太清楚你在找什么,但也许这些信息会有帮助。实例化DbContext类时,构造函数调用初始化DbSet属性的私有方法。它通过使用名为DbSetDiscoveryService的内部类来通过反射发现当前类中的DbSet属性。
一些有用的链接:
DbSetDiscoveryService类的链接。https://stackoverflow.com/questions/34207613
复制相似问题