public TableJoin(JoinTypes type, DataField joinField, DataField tableField) { conditions = new QueryCondition(); Type = type; JoinTable = joinField.Table; JoinField = joinField.Name; Table = tableField.Table; TableField = tableField.Name; AddCondition(joinField.ToString(), tableField); }
public override Dictionary<Index, List<DataField>> GetIndexes(string tableName) { Dictionary<Index, List<DataField>> indexes = new Dictionary<Index, List<DataField>>(4); DataTable fieldTable = SelectQuery(string.Format("SHOW INDEXES FROM `{0}`", Mysql.Escape(tableName))); foreach (DataRow dr in fieldTable.Rows) { DataField df = new DataField((string)dr["Table"], (string)dr["Column_name"]); string key = (string)dr["Key_name"]; Index index = null; if ((long)dr["Non_unique"] == 0) { if (key == "PRIMARY") { index = new PrimaryKey(); } else { index = new UniqueKey(key); } } else { index = new Index(key); } if (indexes.ContainsKey(index) == false) { indexes.Add(index, new List<DataField>()); } indexes[index].Add(df); } return indexes; }
public QueryCondition AddCondition(ConditionRelations relation, DataField field, ConditionEquality equality, object value) { QueryCondition condition = new QueryCondition(field.ToString(), equality, value); conditions.Add(new KeyValuePair<QueryCondition, ConditionRelations>(condition, relation)); return condition; }
public QueryCondition AddCondition(DataField field, ConditionEquality equality, object value) { if (conditions.Count == 0 && field != null) { return AddCondition(ConditionRelations.First, field, equality, value); } else { return AddCondition(ConditionRelations.And, field, equality, value); } }
public QueryCondition AddCondition(ConditionRelations relation, DataField field, object value) { if (conditions.Count == 0 && field != null) { return AddCondition(ConditionRelations.First, field, ConditionEquality.Equal, value); } else { return AddCondition(relation, field, ConditionEquality.Equal, value); } }
public QueryCondition AddCondition(DataField field, object value) { if (conditions.Count == 0) { return conditions.AddCondition(ConditionRelations.First, field.ToString(), ConditionEquality.Equal, value); } else { return conditions.AddCondition(ConditionRelations.And, field.ToString(), ConditionEquality.Equal, value); } }
public TableSort(SortOrder order, DataField field, QueryCondition sortLast) { Order = order; Field = field.ToString(); SortLast = sortLast; }
public void AddSort(SortOrder order, DataField field) { sorts.Add(new TableSort(order, field, null)); }
public TableJoin AddJoin(JoinTypes type, DataField joinField, DataField tableField) { TableJoin tj = new TableJoin(type, joinField, tableField); joins.Add(tj); return tj; }
public void AddField(DataField field) { this.fields.Add(field.ToString()); }
public QueryCondition AddCondition(ConditionRelations relation, DataField field, ConditionEquality equality, object value) { if (conditions.Count == 0) { return conditions.AddCondition(ConditionRelations.First, field.ToString(), equality, value); } else { return conditions.AddCondition(relation, field.ToString(), equality, value); } }