public static ISqlMapper CreateMapper(EntityStatusEnum status, ISQLConvert converter) { ISqlMapper mapper = null; switch (status) { case EntityStatusEnum.Insert: mapper = new InsertMapper(converter); break; case EntityStatusEnum.Delete: mapper = new DeleteByIDMapper(converter); break; case EntityStatusEnum.Update: mapper = new UpdateByIDMapper(converter); break; case EntityStatusEnum.InsertOrUpdate: mapper = new InsertOrUpdateMapper(converter); break; } return(mapper); }
/// <summary> /// 拼接where语句 /// </summary> /// <param name="wheres"></param> /// <param name="converter"></param> /// <returns></returns> public static SqlModel BuildWhere(IList <WhereClause> wheres, ISQLConvert converter) { SqlModel model = new SqlModel(); StringBuilder where = new StringBuilder(); List <Parameter> list = new List <Parameter>(); if (wheres == null || wheres.Count == 0) { return(model); } foreach (var t in wheres) { if (t.Value == null) { where.AppendFormat("{0}{1} NULL AND ", converter.FormatColumn(t.ColumnName), t.Seperator); } else { where.AppendFormat("{0}{1}{2} AND ", converter.FormatColumn(t.ColumnName), t.Seperator, converter.FormatParameter(t.ColumnName)); list.Add(new Parameter { Name = converter.FormatParameter(t.ColumnName), Value = t.Value, Type = t.DataType == null ? t.Value.GetType() : t.DataType }); } } where.Remove(where.Length - 4, 4); model.SQL = where.ToString(); model.Parameters = list; return(model); }
public UpdateByIDMapper(ISQLConvert converter) { Converter = converter; }
public SelectByIDMapper(ISQLConvert converter) { Converter = converter; }
public DeleteByIDMapper(ISQLConvert converter) { Converter = converter; }
public InsertMapper(ISQLConvert converter) { Converter = converter; }
public InsertOrUpdateMapper(ISQLConvert converter) { Converter = converter; }
public SelectTopNMapper(ISQLConvert converter) { Converter = converter; }