public DapperQueryable(SqlServerQueryProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } this.provider = provider; this.expression = Expression.Constant(this); }
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; }
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); }
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); }
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(); }