/// <summary> /// 结果排序 /// </summary> /// <param name="attributeName">按attributeName排序</param> /// <param name="isAsc">是否升序</param> public void OrderBy(string attributeName, bool isAsc) { AttributeMap am = queryClass.GetAttributeMap(attributeName); if (isAsc) { orderClause += "," + queryClass.GetFullyQualifiedName(am.Column.Name) + " ASC "; } else { orderClause += "," + queryClass.GetFullyQualifiedName(am.Column.Name) + " DESC "; } }
/// <summary> /// 等值连接一个Query类对象 /// </summary> /// <param name="fromAttribute"></param> /// <param name="q"></param> /// <param name="toAttribute"></param> public void AddJoinQuery(string fromAttribute, Query q, string toAttribute) { this.AddQueryIn(q); q.m_FatherQuery = this; ClassMap cm = q.QueryClassMap; AttributeMap amFrom = this.queryClass.GetAttributeMap(fromAttribute, false); AttributeMap amTo = cm.GetAttributeMap(toAttribute, false); this.m_Querys.AddRange(q.Querys); this.whereClause += " AND " + queryClass.GetFullyQualifiedName(amFrom.Column.Name) + "=" + cm.GetFullyQualifiedName(amTo.Column.Name); }
public static string GetOrderSql(ArrayList orderList, ClassMap cm) { AttributeMap am; OrderEntry order; string orderString = ""; for (int i = 0; i < orderList.Count; i++) { order = (OrderEntry)orderList[i]; am = cm.GetAttributeMap(order.AttributeName); //如果是升序 if (order.IsAscend) { orderString += cm.GetFullyQualifiedName(am.Column.Name) + " ASC,"; } else { orderString += cm.GetFullyQualifiedName(am.Column.Name) + " DESC,"; } } orderString = orderString.Substring(0, orderString.Length - 1); return(" ORDER BY " + orderString); }