/// <summary> /// 生成条件值,无参数 /// </summary> /// <param name="para">无SQL参数条件值生成接口参数</param> protected override void PrimitiveGenerateNoPara(ConditionValueNoSqlParaGeneratorPara para) { var valueList = para.ValueList; if (valueList == null || valueList.Count == 0) { return; } if (valueList.Count != 1) { throw new ArgumentException($"字段[{para.FieldInfo.FieldName}]条件值不符合预期,期望一个值"); } para.SqlStringBuilder.Append($"{para.TableAliaName}.{para.FieldInfo.FieldName}"); CompareOperaterAttribute compareOperaterAttribute = CompareOperaterHelper.GetCompareOperaterAttributeByCompareOperater(para.Operater); para.SqlStringBuilder.Append(compareOperaterAttribute.OperaterFormat); object value = valueList[0]; if (para.DBFiledValueConverter != null) { value = para.DBFiledValueConverter.Convert(value); } string formatValue = para.FieldValueFormator.FieldValueFormat(para.FieldInfo.FieldType, para.FieldInfo.DataType, value); para.SqlStringBuilder.Append(formatValue); }
/// <summary> /// 生成条件值,无参数 /// </summary> /// <param name="para">无SQL参数条件值生成接口参数</param> protected override void PrimitiveGenerateNoPara(ConditionValueNoSqlParaGeneratorPara para) { var valueList = para.ValueList; if (valueList == null || valueList.Count != 2) { throw new ArgumentException($"字段[{para.FieldInfo.FieldName}]条件值不符合预期,期望两个值"); } para.SqlStringBuilder.Append($"{para.TableAliaName}.{para.FieldInfo.FieldName}"); para.SqlStringBuilder.Append(DBConstant.BLACK_SPACE); object value1 = valueList[0]; object value2 = valueList[1]; if (para.DBFiledValueConverter != null) { value1 = para.DBFiledValueConverter.Convert(value1); value2 = para.DBFiledValueConverter.Convert(value2); } string formatValue1 = para.FieldValueFormator.FieldValueFormat(para.FieldInfo.FieldType, para.FieldInfo.DataType, value1); string formatValue2 = para.FieldValueFormator.FieldValueFormat(para.FieldInfo.FieldType, para.FieldInfo.DataType, value2); CompareOperaterAttribute compareOperaterAttribute = CompareOperaterHelper.GetCompareOperaterAttributeByCompareOperater(para.Operater); para.SqlStringBuilder.Append(string.Format(compareOperaterAttribute.OperaterFormat, formatValue1, formatValue2)); }
/// <summary> /// 生成条件值,无参数 /// </summary> /// <param name="para">无SQL参数条件值生成接口参数</param> protected override void PrimitiveGenerateNoPara(ConditionValueNoSqlParaGeneratorPara para) { var valueList = para.ValueList; if (valueList == null || valueList.Count == 0) { return; } para.SqlStringBuilder.Append($"{para.TableAliaName}.{para.FieldInfo.FieldName}"); para.SqlStringBuilder.Append(DBConstant.BLACK_SPACE); CompareOperaterAttribute compareOperaterAttribute = CompareOperaterHelper.GetCompareOperaterAttributeByCompareOperater(para.Operater); para.SqlStringBuilder.Append(compareOperaterAttribute.OperaterFormat); para.SqlStringBuilder.Append("("); int lastIndex = valueList.Count - 1; object value; string formatValue; for (int i = 0; i < valueList.Count; i++) { value = valueList[i]; if (para.DBFiledValueConverter != null) { value = para.DBFiledValueConverter.Convert(value); } formatValue = para.FieldValueFormator.FieldValueFormat(para.FieldInfo.FieldType, para.FieldInfo.DataType, value); para.SqlStringBuilder.Append(formatValue); if (i < lastIndex) { para.SqlStringBuilder.Append(","); } } para.SqlStringBuilder.Append(")"); }
/// <summary> /// 生成条件值,无参数 /// </summary> /// <param name="para">无SQL参数条件值生成接口参数</param> protected override void PrimitiveGenerateNoPara(ConditionValueNoSqlParaGeneratorPara para) { this.GenerateNull(para.SqlStringBuilder, para.FieldInfo, para.TableAliaName, para.Operater); }
/// <summary> /// 生成条件值,无参数 /// </summary> /// <param name="para">无SQL参数条件值生成接口参数</param> protected abstract void PrimitiveGenerateNoPara(ConditionValueNoSqlParaGeneratorPara para);
/// <summary> /// 生成条件值,无参数 /// </summary> /// <param name="para">无SQL参数条件值生成接口参数</param> public void GenerateNoPara(ConditionValueNoSqlParaGeneratorPara para) { this.PrimitiveGenerateNoPara(para); }