Breeze JS - репозиторий с EFContextProvider, включающий / отключающий фильтрацию OData

Я ищу реализовать шаблон хранилища с легким EFContextProvider. В этом репозитории я бы представил метод для запроса к БД с использованием фильтрации OData ... так же, как breeze ведет себя по умолчанию. Я также хотел бы предоставить метод, который игнорировал бы фильтрацию OData и возвращал список элементов, как если бы это был контекст EF по умолчанию.

Итак, подытожив, я хотел бы попытаться сделать что-то вроде этого:

public class RepositoryBaseEntity : IRepository where T : class
{
        protected Breeze.WebApi.DataModelContainer _context;

        public RepositoryBaseEntity(Breeze.WebApi.EFContextProvider context)
        {
            _context = context;
        }

        /// 
        /// Gets all elements, ignoring OData filtering
        /// 
        /// All elements, or null if none exists
        public IEnumerable GetAll()
        {            
            // disable OData filtering in Breeze.WebApi.EFContextProvider
            return _context.Context.Set();
        }


        /// 
        /// Apply ODataFilters and get elements. Useful for Web API controllers
        /// 
        /// 
        public IEnumerable ApplyODataFiltersAndGet()
        {
            // enable OData filtering in Breeze.WebApi.EFContextProvider
            return _context.Context.Set();
        }

}

взглянул на Breeze EFContextProvider, и нетКажется, это способ отключить фильтрацию OData.

Хотя, возможно, я использую простой старый Entity Framework DataModelContainer, когда я неЯ не хочу фильтровать OData и использовать оболочку Breeze EFContextProvider, когда я хочу фильтровать OData ... но при таком подходе у меня будет два контекста EF ... и эточто-то, чего я хочу избежать ... в прошлом в некоторых других проектах мыУ нас были некоторые проблемы с использованием более одного контекста EF.

Итак, вы, ребята, видите какой-нибудь способ сделать это? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос