public List <T> Select <T>(ORMCondBase condition, IDBExecutor exec) where T : new() { ORMSelect s = new ORMSelect(Adp); s.FocalType = typeof(T); s.Condition = condition; return(Select <T>(s, exec)); }
private SQConditionBase GetCondition(ORMCondBase cond, ORMSelect select) { if (cond != null) { SQConditionBase res = null; if (cond is ORMCond) { ORMCond cnd = (ORMCond)cond; string operandA = GetPropertyChainColumn(cnd.PropertyChain, select); string operandB = null; if (cnd.Value is ORMPropertyChain) { operandB = GetPropertyChainColumn(((ORMPropertyChain)cnd.Value).Chain, select); } else if (cnd.Value == ORMCond.NullOperand) { operandB = "NULL"; } else { operandB = GetNextParam(); Query.Parameters.Add(new SQParameter((string)operandB, cnd.Value)); } res = new SQCondition(operandA, cnd.Operator, operandB, cnd.InvertMeaning); } else if (cond is ORMCondSQL) { ORMCondSQL cnd = (ORMCondSQL)cond; res = cnd.Cond; foreach (SQParameter prm in cnd.Parameters) { Query.Parameters.Add(prm); } } else if (cond is ORMCondGroup) { ORMCondGroup grp = (ORMCondGroup)cond; res = new SQConditionGroup(grp.InvertMeaning, GetCondition(grp.InnerCondition, select)); } if (cond.NextCondition != null) { if (cond.Connective == SQLogicOperators.AND) { res.And(GetCondition(cond.NextCondition, select)); } else { res.Or(GetCondition(cond.NextCondition, select)); } } return(res); } return(null); }
private void AppendCondition(ORMCondBase condition, SQLogicOperators connective) { if (NextCondition == null) { NextCondition = condition; Connective = connective; } else { NextCondition.AppendCondition(condition, connective); } }
public virtual void Update(object o, ORMCondBase condition) { //if (o != null) //{ // SchemaTable t = Schema.EnsureSchema(o.GetType()); // if (t != null) // { // UpdateQuery q = new UpdateQuery() // { // PrimaryTable = new AliasableObject(t.Table.Name) // }; // PopulateSetQuery(q, o, t); // q.Condition = condition; // Adp.Update(q); // } // else // { // throw new InvalidTypeException(o.GetType()); // } //} }
public List <T> Select <T>(ORMCondBase condition) where T : new() { return(Select <T>(condition, Adp)); }
public ORMCondGroup(ORMCondBase innercond) { InnerCondition = innercond; }
/// <summary> /// Append a condition with a connective "and" to this condition chain and return this. /// </summary> /// <param name="nextCondition"></param> /// <returns></returns> public ORMCondBase And(ORMCondBase nextCondition) { AppendCondition(nextCondition, SQLogicOperators.AND); return(this); }
/// <summary> /// Append a condition with a connective "or" to this condition chain and return this. /// </summary> /// <param name="nextCondition"></param> /// <returns></returns> public ORMCondBase Or(ORMCondBase nextCondition) { AppendCondition(nextCondition, SQLogicOperators.OR); return(this); }