C# System.Entity.DbSet实体框架中的工作机制

C# System.Entity.DbSet实体框架中的工作机制,c#,entity-framework,dbset,C#,Entity Framework,Dbset,我想知道DbSet实际上是如何设置自己的 如果您看到DbSet的定义,那么它是一个具体的类 但并没有实现所有的方法,使其看起来更像接口 我看到DbSet类有一个基类和许多接口。但是它们实际上都没有实现像Add这样的方法,而且它没有保存DbContext的成员 我想知道发生了什么事 关于这个问题,最初的问题是 DbSet方法在哪里实现 没有用于数据库集的内存存储 谢谢大家的见解。使用dotPeek这样的反编译器来查看类的实现。@Jehof:没有必要使用反编译器,EF是开源的。我的问题看起来有些不同

我想知道DbSet实际上是如何设置自己的

如果您看到DbSet的定义,那么它是一个具体的类

但并没有实现所有的方法,使其看起来更像接口

我看到DbSet类有一个基类和许多接口。但是它们实际上都没有实现像Add这样的方法,而且它没有保存DbContext的成员

我想知道发生了什么事

关于这个问题,最初的问题是

DbSet方法在哪里实现

没有用于数据库集的内存存储


谢谢大家的见解。

使用dotPeek这样的反编译器来查看类的实现。@Jehof:没有必要使用反编译器,EF是开源的。我的问题看起来有些不同。开源EF和dotPeek我将尝试这些。谢谢
public class DbSet<TEntity> : DbQuery<TEntity>,
                              IDbSet<TEntity>, 
                              IQueryable<TEntity>, 
                              IEnumerable<TEntity>, 
                              IQueryable, 
                              IEnumerable, 
                              IInternalSetAdapter where TEntity : class

...

 public virtual TEntity Add(TEntity entity);