/// <summary> /// 生成主键条件 /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="pkValues"></param> /// <returns></returns> internal static WhereClip GetPrimaryKeyWhere <TEntity>(Array pkValues)//params object[] pkValues 2015-08-20 where TEntity : Entity { WhereClip where = new WhereClip(); Field[] keyfields = EntityCache.GetPrimaryKeyFields <TEntity>(); if (keyfields == null) { return(where); } Check.Require(keyfields.Length == pkValues.Length, "主键列与主键值无法对应!"); int index = keyfields.Length; for (int i = 0; i < index; i++) { where = where.And(new WhereClip(keyfields[i], pkValues.GetValue(i), QueryOperator.Equal)); //2015-08-20注释 //where = where.And(new WhereClip(keyfields[i], pkValues[i], QueryOperator.Equal)); //where = where.And(keyfields[i].In(pkValues));//2015-06-09 } return(where); }