ObjectSet.Context против DbSet - PullRequest
       4

ObjectSet.Context против DbSet

5 голосов
/ 20 ноября 2011

Я использовал ObjectSet в EF 4.0, я мог получить базовый Контекст для этого ObjectSet, используя

myObjectSet.Context, который возвращает ObjectContext.

Теперь с DbSet в Ef4.1, что эквивалентно ??

1 Ответ

3 голосов
/ 20 ноября 2011

EF 4.1 не предлагает публичный API для получения DbContext из экземпляра DbSet. Вам нужно будет использовать Reflections API, чтобы получить экземпляр DbContext.

Редактировать

Один из обходных путей - обойти DbContext instace с экземпляром DbSet. Например, если у вас был конструктор, который использовал только экземпляр DbSet. Пройдите также DbContext.

public MyService(DbContext context, DbSet<MyClass> mySet){}

Другим способом было бы открыть EntityFramewrk.dll внутри Отражатель и узнать, как получить DbContext instace путем доступа к внутренним / частным полям DbSet , Я бы не советовал вам использовать это, потому что реализации могут измениться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...