C# 实例化从EF DbContext派生的类时会发生什么?
TL;博士C# 实例化从EF DbContext派生的类时会发生什么?,c#,entity-framework,C#,Entity Framework,TL;博士 当我实例化扩展EF DbContext的类的实例时,您能总结一下发生了什么吗 长 我想尽可能多地了解它,但由于对接口和抽象类的各种引用,仅阅读源代码并不是很有成效 我希望通过循序渐进,我能够更容易地确定我在处理的是哪一部分 我想与该项目作出贡献,我想有一个良好的了解一切 那么,你能描述一下当我实例化一个像下面这样的类时会发生什么吗 public class ProductContext : DbContext { public DbSet<Category> Ca
当我实例化扩展EF DbContext的类的实例时,您能总结一下发生了什么吗 长
我想尽可能多地了解它,但由于对接口和抽象类的各种引用,仅阅读源代码并不是很有成效 我希望通过循序渐进,我能够更容易地确定我在处理的是哪一部分 我想与该项目作出贡献,我想有一个良好的了解一切 那么,你能描述一下当我实例化一个像下面这样的类时会发生什么吗
public class ProductContext : DbContext
{
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
公共类ProductContext:DbContext
{
公共数据库集类别{get;set;}
公共数据库集产品{get;set;}
}
编辑1让我举例说明我正在寻找的答案,例如“启动汽车”:
首先,将钥匙插入插座。转动钥匙实际上是一个三步动作。当你稍微转动一下,确认钥匙与锁匹配并由内部电池供电时,汽车会启动电气系统,计算汽油量,关闭外部灯,如刹车灯和前照灯,关闭空调,并恢复内部电动发动机的所有电源,从而启动主发动机。
如果你再转动一点,同步系统将与气泵和电动发动机一起启动,导致曲轴旋转并使活塞运动,这是常规操作的反向模式。如果任何档位被“设置”,汽车将移动,主机启动将失败。如果没有,气泵将在活塞室中喷射气体,同步系统将产生火花,探测气体并启动主机。在此之后,电动发动机将停止,变压器将开始工作,为主蓄电池补充电量。
如果同步系统和气泵继续正常工作,活塞中的点火将继续以4个循环的方式进行,汽车将准备好驾驶。如果没有,汽车将死亡,整个过程可以重复
现在请注意,虽然“完整”和“技术”各点未注明,例如机油、水冷、发动机的机械内部构件、齿轮箱和其他。。。但如果你有能力做到这一点,请做到 我不确定你在找什么,但也许这些信息会有所帮助。实例化
DbContext
类时,构造函数调用一个私有方法来初始化DbSet
属性。它通过使用名为DbSetDiscoveryService
的内部类通过反射来发现当前类中的DbSet
属性来实现这一点
一些有用的链接:
- 类似的问题和答案等等
- 是指向该类的链接
- 是指向实体框架的源代码的链接