Бриз фильтрации. Расширить на стороне сервера

Я пытаюсьBreezeJS, Есть требование, которое я могу использовать.expand в коде на стороне клиента, но на основеrole пользователя, серверная часть не будет возвращать все записи для.expand запрашиваемый тип. Я пытался создать кастомBreezeQueryable атрибут и переопределить метод, чтобы сначала полностью отфильтровать лишние данные, просто чтобы попробовать. Но это бросило исключение.

Я не вижу никакой точки входа, где я мог бы сделать это на стороне сервера.

Пожалуйста, направьте меня в правильном направлении или дайте мне знать, если это невозможно. У меня есть доступ только к общимIQueryableКак мне выполнить запросы по этому вопросу?

Вот пример кода:

Сервер:

    [BreezeController]
    [EnableCors("*", "*", "*")]
    public class MyDataController : ApiController
    {
        readonly EFContextProvider<MyDbContext> _contextProvider;

        public MyDataController()
        {
            _contextProvider = new EFContextProvider<MyDbContext>();
            _contextProvider.Context.Configuration.ProxyCreationEnabled = false;
            _contextProvider.Context.Configuration.LazyLoadingEnabled = false;
        }

        // GET api/<controller>
        //Trying to use a custom attribute to filter data here
        [CustomBreezeQueryable(AllowedQueryOptions = AllowedQueryOptions.All)]
        [HttpGet]
        public IQueryable<MyData> GetAllData()
        {
            var data = _contextProvider.Context.MyData;
            return data;
        }
    }

    public class CustomBreezeQueryableAttribute : BreezeQueryableAttribute
    {
        public override IQueryable ApplyQuery(IQueryable queryable, 
                           ODataQueryOptions queryOptions)
        {
            var data = base.ApplyQuery(queryable, queryOptions);
            //trying to filter out MyDataHistory for MyData for testing, 
            //it throws exception
            //data = data.OfType<MyDataHistory>(); 
            return data;
        }
    }

Сторона клиента:

breeze.EntityQuery.from("GetAllData").expand('MyDataHistory')
               .using(this.manager)
               .execute()
               .then((data) => {               
                console.log(data.results[0]);
                def.resolve(data.results);
            });

Этоexception Я получаю при использованииOfType, и я хотел бы фильтровать, а не использовать это в любом случае.

{"DbOfTypeExpression requires an expression argument with a polymorphic result type that is compatible with the type argument."}

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

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