Raw SQL¶
You can write any raw SQL and combine with any other IQueryFragment
:
// Raw string
IRawSql raw1 = sql.Raw("SELECT person.Name FROM person");
// Add other fragments
IAlias person = sql.Alias("person");
IRawSql raw2 = sql.Raw("SELECT {0} {1}", person["Name"], sql.From(person));
// Add parameters
IRawSql raw3 = sql.Raw("WHERE {0} = {1}", person["Id"], 10);
// Add parameter list
IRawSql raw4 = sql.Raw("WHERE {0} IN {1}", person["Id"], sql.SubList.Add(1, 2, 3));
If your raw string is a complete query you must use the RawQuery method:
// Raw query
IRawQuery raw1 = sql.RawQuery("SELECT person.Name FROM person");
// Create offset
IRawQuery raw2 = sql.RawQuery("SELECT person.Name FROM person")
.Offset(10, 20);
Note
The difference between IRawSql
and IRawQuery
, is that the last add parentheses when is added to other IQueryFragment
.