예제 #1
0
        private IQueryable GetQueryableCollection(string connectionString, string collectionName,
                                                  Dictionary <string, Type> providerTypes, Dictionary <string, Type> generatedTypes)
        {
            var collectionType = CreateDynamicTypeForCollection(collectionName, providerTypes, generatedTypes);

            return(InterceptingProvider.Intercept(
                       new DocumentDbQueryableResource(this.dbMetadata, connectionString, collectionName, collectionType),
                       new ResultExpressionVisitor()));
        }
        private IQueryable GetQueryableCollection(string connectionString, Dictionary <string, Type> providerTypes, string collectionName)
        {
            var collectionType = CreateDynamicTypeForCollection(collectionName, providerTypes);

            var conventions = new ConventionProfile();

            conventions.SetIdMemberConvention(new NamedIdMemberConvention(MongoMetadata.MappedObjectIdName));
            conventions.SetIgnoreExtraElementsConvention(new AlwaysIgnoreExtraElementsConvention());
            BsonClassMap.RegisterConventions(conventions, t => t == collectionType);

            return(InterceptingProvider.Intercept(
                       new MongoQueryableResource(connectionString, collectionName, collectionType),
                       new ResultExpressionVisitor()));
        }
예제 #3
0
        private IQueryable GetQueryableCollection(string connectionString, string collectionName,
                                                  Dictionary <string, Type> providerTypes, Dictionary <string, Type> generatedTypes)
        {
            var collectionType = CreateDynamicTypeForCollection(collectionName, providerTypes, generatedTypes);

            var conventionPack = new ConventionPack();

            conventionPack.Add(new NamedIdMemberConvention(MongoMetadata.MappedObjectIdName));
            conventionPack.Add(new IgnoreExtraElementsConvention(true));
            ConventionRegistry.Register(collectionName, conventionPack, t => t == collectionType);

            return(InterceptingProvider.Intercept(
                       new MongoQueryableResource(this.mongoMetadata, connectionString, collectionName, collectionType),
                       new ResultExpressionVisitor()));
        }
예제 #4
0
            public static IQueryable <AuthorizationTokenDO> Intercept(IQueryable <AuthorizationTokenDO> underlyingQuery, AuthorizationTokenRepositoryBase authorizationTokenRepository)
            {
                InterceptingProvider provider = new InterceptingProvider(underlyingQuery.Provider, authorizationTokenRepository);

                return(provider.CreateQuery <AuthorizationTokenDO>(underlyingQuery.Expression));
            }
예제 #5
0
 public InterceptedQuery(InterceptingProvider provider, Expression expression)
 {
     _provider   = provider;
     _expression = expression;
 }
        /*********************************************************************************/

        public IQueryable <AuthorizationTokenDO> GetPublicDataQuery()
        {
            return(InterceptingProvider.Intercept(_storageProvider.GetQuery(), this));
        }