示例#1
0
 public DapperQueryable(SqlServerQueryProvider provider)
 {
     if (provider == null)
     {
         throw new ArgumentNullException("provider");
     }
     this.provider   = provider;
     this.expression = Expression.Constant(this);
 }
示例#2
0
 public DapperQueryable(SqlServerQueryProvider provider, Expression expression)
 {
     if (provider == null)
     {
         throw new ArgumentNullException("provider");
     }
     if (expression == null)
     {
         throw new ArgumentNullException("expression");
     }
     if (!typeof(IQueryable <T>).IsAssignableFrom(expression.Type))
     {
         throw new ArgumentOutOfRangeException("expression");
     }
     this.provider   = provider;
     this.expression = expression;
 }
示例#3
0
        public void Sql_server_query_provider_get_filter_by_id_test()
        {
            // Arrange
            var guid     = Guid.NewGuid();
            var ser      = new JsonObjectSerializer();
            var provider = new SqlServerQueryProvider(ser);
            var query    = MessageQuery.Create().WithId(guid);

            // Act
            var result = provider.GetFilterScript(query);

            // Assert
            var expectedResult =
                $@"SELECT TOP 1000 * FROM [SaritasaMessages]
WHERE ([ContentId] = '{guid}')";

            Assert.Equal(expectedResult, result);
        }
示例#4
0
        public void Sql_server_query_provider_get_filter_range_test()
        {
            // Arrange
            var ser      = new JsonObjectSerializer();
            var provider = new SqlServerQueryProvider(ser);
            var query    = MessageQuery.Create().WithRange(20, 10);

            // Act
            var result = provider.GetFilterScript(query);

            // Assert
            var expectedResult =
                $@"SELECT * FROM [SaritasaMessages]
ORDER BY [ContentId]
OFFSET 20 ROWS
FETCH NEXT 10 ROWS ONLY";

            Assert.Equal(expectedResult, result);
        }
示例#5
0
        public void Sql_server_query_provider_get_filter_by_date_test()
        {
            // Arrange
            var startDate = new DateTime(2016, 1, 1);
            var endDate   = new DateTime(2016, 12, 31, 23, 0, 0);
            var ser       = new JsonObjectSerializer();
            var provider  = new SqlServerQueryProvider(ser);
            var query     = MessageQuery.Create()
                            .WithCreatedStartDate(startDate)
                            .WithCreatedEndDate(endDate);

            // Act
            var result = provider.GetFilterScript(query);

            // Assert
            var expectedResult =
                $@"SELECT TOP 1000 * FROM [SaritasaMessages]
WHERE ([CreatedAt] >= '{startDate:yyyy-MM-dd hh:mm:ss}') AND ([CreatedAt] <= '{endDate:yyyy-MM-dd hh:mm:ss}')";

            Assert.Equal(expectedResult, result);
        }
 protected SubSonicMockDbClient()
     : base(MockDbClientFactory.Instance)
 {
     QueryProvider = new SqlServerQueryProvider();
 }