public EntityType(EntityType entityType, IEnumerable <FieldType> fields) { Name = entityType.Name; this.SqlTable(Name, "id"); _dialect = new SQLiteDialect(); fields.ToList().ForEach(f => { FillArgs(f.Name); this.AddField(f); }); TableArgs.Add(new QueryArgument <IdGraphType> { Name = "number" }); TableArgs.Add(new QueryArgument <IntGraphType> { Name = "first" }); TableArgs.Add(new QueryArgument <IntGraphType> { Name = "offset" }); TableArgs.Add(new QueryArgument <StringGraphType> { Name = "includes" }); }
public void PageQueryThrowsArgumentNullExceptionForNullSqlCharacters() { var sqlDialect = new SQLiteDialect(); var exception = Assert.Throws <ArgumentNullException>( () => sqlDialect.PageQuery(null, PagingOptions.None)); }
public void PageWithWhereAndOrderByMultiLine() { var sqlDialect = new SQLiteDialect(); var sqlQuery = new SqlQuery(@"SELECT CustomerId, Name, DateOfBirth, CustomerStatusId FROM Customers WHERE CustomerStatusId = @p0 ORDER BY Name ASC", CustomerStatus.Active); var paged = sqlDialect.PageQuery(sqlQuery, PagingOptions.ForPage(page: 1, resultsPerPage: 25)); Assert.Equal("SELECT CustomerId, Name, DateOfBirth, CustomerStatusId FROM Customers WHERE CustomerStatusId = @p0 ORDER BY Name ASC LIMIT @p1,@p2", paged.CommandText); Assert.Equal(sqlQuery.Arguments[0], paged.Arguments[0]); Assert.Equal(DbType.Int32, paged.Arguments[1].DbType); Assert.Equal(0, paged.Arguments[1].Value); Assert.Equal(DbType.Int32, paged.Arguments[2].DbType); Assert.Equal(25, paged.Arguments[2].Value); }
public void Quote_WithString_QuotesString() { var dialect = new SQLiteDialect(); var quoted = dialect.Quote("product"); quoted.Should().Be("\"product\""); }
public void CompositeKey_WithParentTableAndKeys_ReturnsCombinedString() { var dialect = new SQLiteDialect(); var sql = dialect.CompositeKey("people", new[] { "id", "firstName", "lastName" }); sql.Should().Be("\"people\".\"id\" || \"people\".\"firstName\" || \"people\".\"lastName\""); }
public void HandleJoinedOneToManyPaginated_WhenCalled_ThrowsNotSupportedException() { var dialect = new SQLiteDialect(); Action action = () => dialect.HandleJoinedOneToManyPaginated(null, null, null, null, null, null, null); action.Should().Throw <NotSupportedException>(); }
public void BuildSelectInsertIdSqlQuery() { var sqlDialect = new SQLiteDialect(); var sqlQuery = sqlDialect.BuildSelectInsertIdSqlQuery(ObjectInfo.For(typeof(Customer))); Assert.Equal("SELECT last_insert_rowid()", sqlQuery.CommandText); Assert.Equal(0, sqlQuery.Arguments.Count); Assert.Equal(0, sqlQuery.Arguments.Count); }
public void IntegratedSchema() { var cfg = TestConfiguration.Configuration.IntegrateWithActsAsVersioned(); var dialect = new SQLiteDialect(); var lines = cfg.GenerateSchemaCreationScript(dialect); foreach (var line in lines) { Output.WriteLine(line); } }
public void PageWithNoWhereOrOrderBySecondResultsPage() { var sqlDialect = new SQLiteDialect(); var sqlQuery = new SqlQuery("SELECT CustomerId, Name, DateOfBirth, CustomerStatusId FROM Customers"); var paged = sqlDialect.PageQuery(sqlQuery, PagingOptions.ForPage(page: 2, resultsPerPage: 25)); Assert.Equal("SELECT CustomerId, Name, DateOfBirth, CustomerStatusId FROM Customers LIMIT @p0,@p1", paged.CommandText); Assert.Equal(DbType.Int32, paged.Arguments[0].DbType); Assert.Equal(25, paged.Arguments[0].Value); Assert.Equal(DbType.Int32, paged.Arguments[1].DbType); Assert.Equal(25, paged.Arguments[1].Value); }
public void PageNonQualifiedWildcardQuery() { var sqlDialect = new SQLiteDialect(); var sqlQuery = new SqlQuery("SELECT * FROM Customers"); var paged = sqlDialect.PageQuery(sqlQuery, PagingOptions.ForPage(page: 1, resultsPerPage: 25)); Assert.Equal("SELECT * FROM Customers LIMIT @p0,@p1", paged.CommandText); Assert.Equal(DbType.Int32, paged.Arguments[0].DbType); Assert.Equal(0, paged.Arguments[0].Value); Assert.Equal(DbType.Int32, paged.Arguments[1].DbType); Assert.Equal(25, paged.Arguments[1].Value); }
public void UpdateInstanceQuery() { ObjectInfo.MappingConvention = new ConventionMappingConvention( UnitTest.GetConventionMappingSettings(IdentifierStrategy.Assigned)); var sqlDialect = new SQLiteDialect(); var customer = new Customer { Created = new DateTime(2011, 12, 24), CreditLimit = 10500.00M, DateOfBirth = new System.DateTime(1975, 9, 18), Id = 134875, Name = "Joe Bloggs", Status = CustomerStatus.Active, Updated = DateTime.Now, Website = new Uri("http://microliteorm.wordpress.com") }; var sqlQuery = sqlDialect.BuildUpdateSqlQuery(ObjectInfo.For(typeof(Customer)), customer); Assert.Equal("UPDATE \"Sales\".\"Customers\" SET \"CreditLimit\" = @p0,\"DateOfBirth\" = @p1,\"Name\" = @p2,\"CustomerStatusId\" = @p3,\"Updated\" = @p4,\"Website\" = @p5 WHERE (\"Id\" = @p6)", sqlQuery.CommandText); Assert.Equal(7, sqlQuery.Arguments.Count); Assert.Equal(DbType.Decimal, sqlQuery.Arguments[0].DbType); Assert.Equal(customer.CreditLimit, sqlQuery.Arguments[0].Value); Assert.Equal(DbType.DateTime2, sqlQuery.Arguments[1].DbType); Assert.Equal(customer.DateOfBirth, sqlQuery.Arguments[1].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[2].DbType); Assert.Equal(customer.Name, sqlQuery.Arguments[2].Value); Assert.Equal(DbType.Int32, sqlQuery.Arguments[3].DbType); Assert.Equal((int)customer.Status, sqlQuery.Arguments[3].Value); Assert.Equal(DbType.DateTime2, sqlQuery.Arguments[4].DbType); Assert.Equal(customer.Updated, sqlQuery.Arguments[4].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[5].DbType); Assert.Equal("http://microliteorm.wordpress.com/", sqlQuery.Arguments[5].Value); Assert.Equal(DbType.Int32, sqlQuery.Arguments[6].DbType); Assert.Equal(customer.Id, sqlQuery.Arguments[6].Value); }
public EntityType(EntityMetadata tableMetadata) { Name = tableMetadata.TableName; this.SqlTable(tableMetadata.TableName, "id"); foreach (var tableColumn in tableMetadata.Columns) { InitGraphTableColumn(tableColumn, Name); } _dialect = new SQLiteDialect(); TableArgs.Add(new QueryArgument <IdGraphType> { Name = "number" }); TableArgs.Add(new QueryArgument <IntGraphType> { Name = "first" }); TableArgs.Add(new QueryArgument <IntGraphType> { Name = "offset" }); TableArgs.Add(new QueryArgument <StringGraphType> { Name = "includes" }); if (EntitiesAlreadyCreated.ContainsKey(tableMetadata.TableName)) { EntitiesAlreadyCreated.Remove(tableMetadata.TableName); } EntityType x = this; var y = (EntityType)this.Fields.FirstOrDefault(f => !string.IsNullOrEmpty(f.Description))?.ResolvedType; if (y != null) { var yy = (EntityType)y.Fields.FirstOrDefault(f => !string.IsNullOrEmpty(f.Description))?.ResolvedType; var zz = yy?.Fields.FirstOrDefault(f => f.Name == tableMetadata.EntityName); if (zz != null) { var list = yy.Fields.Where(f => f.Name != tableMetadata.EntityName); x = new EntityType(this, list); } } EntitiesAlreadyCreated.Add(tableMetadata.TableName, x); }
public void InsertInstanceQueryForIdentifierStrategyDbGenerated() { ObjectInfo.MappingConvention = new ConventionMappingConvention( UnitTest.GetConventionMappingSettings(IdentifierStrategy.DbGenerated)); var sqlDialect = new SQLiteDialect(); var customer = new Customer { Created = new DateTime(2011, 12, 24), CreditLimit = 10500.00M, DateOfBirth = new System.DateTime(1975, 9, 18), Name = "Joe Bloggs", Status = CustomerStatus.Active, Updated = DateTime.Now, Website = new Uri("http://microliteorm.wordpress.com") }; var sqlQuery = sqlDialect.BuildInsertSqlQuery(ObjectInfo.For(typeof(Customer)), customer); Assert.Equal("INSERT INTO \"Sales\".\"Customers\" (\"Created\",\"CreditLimit\",\"DateOfBirth\",\"Name\",\"CustomerStatusId\",\"Website\") VALUES (@p0,@p1,@p2,@p3,@p4,@p5)", sqlQuery.CommandText); Assert.Equal(6, sqlQuery.Arguments.Count); Assert.Equal(DbType.DateTime, sqlQuery.Arguments[0].DbType); Assert.Equal(customer.Created, sqlQuery.Arguments[0].Value); Assert.Equal(DbType.Decimal, sqlQuery.Arguments[1].DbType); Assert.Equal(customer.CreditLimit, sqlQuery.Arguments[1].Value); Assert.Equal(DbType.DateTime, sqlQuery.Arguments[2].DbType); Assert.Equal(customer.DateOfBirth, sqlQuery.Arguments[2].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[3].DbType); Assert.Equal(customer.Name, sqlQuery.Arguments[3].Value); Assert.Equal(DbType.Int32, sqlQuery.Arguments[4].DbType); Assert.Equal((int)customer.Status, sqlQuery.Arguments[4].Value); Assert.Equal(DbType.String, sqlQuery.Arguments[5].DbType); Assert.Equal("http://microliteorm.wordpress.com/", sqlQuery.Arguments[5].Value); }
public void SupportsSelectInsertedIdentifierReturnsTrue() { var sqlDialect = new SQLiteDialect(); Assert.True(sqlDialect.SupportsSelectInsertedIdentifier); }
public void SetUp() { dialect = new SQLiteDialect(); registry = new SQLFunctionRegistry(dialect, new Dictionary<string, ISQLFunction>()); }
public void Setup() { Dialect = new SQLiteDialect(); }
public void SetUp() { dialect = new SQLiteDialect(); }
public void SetUp() { dialect = new SQLiteDialect(); registry = new SQLFunctionRegistry(dialect, new Dictionary <string, ISQLFunction>()); }
public void SetUp() { dialect = new SQLiteDialect(); }