Я только начал работать с Entity Framework и для того, чтобы использовать события ObjectMaterialized и SavingChanges, мне нужно привести класс, который реализует интерфейс DbContext к IObjectContextAdapter следующим образом:
var context = (this as IObjectContextAdapter).ObjectContext;
В книге, которую я Я читаю, что DbContext не предоставляет объект ObjectContext напрямую, но реализует IObjectContextAdapter, который предоставляет доступ к этому объекту. Мой вопрос: как именно приведение этого объекта к интерфейсу "предоставляет доступ" к ObjectContext? Я посмотрел в классе DbContext, и у него нет объекта ObjectContext. Также он не наследует никакой другой объект, просто реализует интерфейс IObjectContextAdapter. Так как и откуда именно осуществляется доступ к объекту?