Для Code First CTP 3 и 4 у меня был общий шаблон репозитория, реализованный путем реализации метода в моем DbContext
, который имел return this.ObjectContext.CreateObjectSet<T>
. Это позволило мне создать набор объектов для любого нужного мне типа, который я затем смогу использовать для кодирования Linq.
Прошлой ночью я обновился до CTP5, и похоже, что они сильно изменили способ реализации DbContext
. Один аспект заключается в том, что в классе DbContext
больше нет свойства ObjectContext
. Насколько я могу судить, нет способа создать ObjectSet<T>
или любой другой набор данных, который я могу использовать для общего доступа по требованию, который будет привязан к контексту данных.
Затем у меня возникла идея создать DbSet<T>
в методе вместо этого, поскольку это могло бы позволить мне выполнять над ним операции linq-to-entity. Это также не работает, так как для DbSet<T>
нет конструкторов (или так, как мне говорит компилятор), и у меня нет способа привязать его к существующему экземпляру моего контекста данных.
Кто-нибудь знает, как реализовать универсальный репозиторий с Code First CTP5?