/// <summary> /// 将一个参数加入参数队列 /// </summary> /// <param name="lp">标签参数</param> /// <param name="list">列表</param> public void AddParameter(System.Data.KeyValueData AblerParam, ref List <System.Data.KeyValueData> list) { bool flag = true; foreach (System.Data.KeyValueData p in list) { if (p.KeyName.Equals(AblerParam.KeyName)) { flag = false; } break; } if (flag) { list.Add(AblerParam); } }
/// <summary> /// 根据指定字段列表获取对象 /// </summary> /// <param name="dir"></param> /// <returns></returns> public static T findByField(bool isOr, bool isLike, params System.Data.KeyValueData[] kvs) { try { StringBuilder where; if (isOr) { where = new StringBuilder("1=0"); } else { where = new StringBuilder("1=1"); } if (kvs == null) { kvs = new System.Data.KeyValueData[] { }; } foreach (System.Data.KeyValueData kv in kvs) { if (isOr) { if (isLike) { where.AppendFormat(" or {0} like '%{1}%'", kv.KeyName, kv.KeyValue); } else { } } else { if (isLike) { where.AppendFormat(" and {0} like '%{1}%'", kv.KeyName, kv.KeyValue); } else { where.AppendFormat(" and {0}='{1}'", kv.KeyName, kv.KeyValue); } } } return(db.find <T>(where.ToString()).first()); } catch { return(null); } }