Query dialects

The Energy.Query.Dialect namespace contains SQL dialect implementations for generating database-specific scripts.

MySQL

Energy.Query.Dialect.MYSQL generates MySQL-compatible SQL.

Energy.Query.Dialect.MYSQL mysql = new Energy.Query.Dialect.MYSQL();

Energy.Source.Structure.Table table = new Energy.Source.Structure.Table();
table.Name = "Users";
table.Engine = "InnoDB";
table.Columns.New("Id").Type = "BIGINT";
table.Columns.New("Name").Type = "VARCHAR(100)";

string sql = mysql.CreateTable(table, Energy.Query.Style.Global);

SQLite

Energy.Query.Dialect.SQLITE generates SQLite-compatible SQL.

Energy.Query.Dialect.SQLITE sqlite = new Energy.Query.Dialect.SQLITE();
string sql = sqlite.CreateTable(table, Energy.Query.Style.Global);

SQL Server

Energy.Query.Dialect.SQLSERVER generates Microsoft SQL Server T-SQL.

Energy.Query.Dialect.SQLSERVER sqlserver = new Energy.Query.Dialect.SQLSERVER();
string sql = sqlserver.CreateTable(table, Energy.Query.Style.Global);

ANSI

Energy.Query.Dialect.ANSI is an empty placeholder for ANSI SQL-92 standard dialect.

IDialect interface

All dialects implement Energy.Interface.IDialect, which includes:

  • CreateTable(Table, Style)

  • CreateTable(Table)

  • CreateColumn(Column)

  • CreateIndex(Index)

  • DropTable(Table)

  • DropColumn(Column)

  • DropIndex(Index)

  • DropTable(string)

  • Select(Statement.Select)

  • Insert(Statement.Insert)

See also

  • query-script

  • query-statement

  • query-style

  • interface-contracts