0

DbSet私は実際にどのように自分自身を設定するのだろうかと思っていました。

の定義が表示されている場合DbSet、それは具象クラスです。

しかし、すべてのメソッドが実装されているわけではなく、interface.

public class DbSet<TEntity> : DbQuery<TEntity>,
                              IDbSet<TEntity>, 
                              IQueryable<TEntity>, 
                              IEnumerable<TEntity>, 
                              IQueryable, 
                              IEnumerable, 
                              IInternalSetAdapter where TEntity : class

...

 public virtual TEntity Add(TEntity entity);

DbSetクラスには基本クラスと多くのインターフェースがあることがわかります。しかし、それらのどれも実際にAddand のようなメソッドを実装していません。それを保持するメンバーはありませんDbContext

何が起こっているのだろうと思っていました。

したがって、この件に関して、最初の質問は..

  • メソッドはどこDbSetに実装されますか?

  • のメモリ内ストレージ (?) がありませんDbSet

皆様、お知恵を貸していただきありがとうございました。

4

0 に答える 0