public List <T> GetDataList <T>(string exp, string orderExp, bool isDesc = true) { var typeT = typeof(T); TableMappingAttribute attribute = BaseDaoAttribute.GetTableMappingAttribute(typeT); if (attribute == null) { return(null); } var sql = $"SELECT *FROM dbo.{attribute.TableName} WHERE {exp}"; var para = new Hashtable(); para.Add("sql", sql); return(QueryForList <T>($"Query{attribute.TableName}", para)); }
/* * public void CustomAdd<T>(T t, List<SystemObjectFields> fields) * { * //找到表名称 * var typeT = typeof(T); * TableMappingAttribute attribute = BaseDaoAttribute.GetTableMappingAttribute(typeT); * if (attribute == null) * return; * * //新增用反射把各个字段赋值,动态创建插入语句 * List<string> list1 = new List<string>(); * List<string> list2 = new List<string>(); * var properties = typeT.GetProperties(); * foreach (var propertiy in properties) * { * var tmp = fields.FirstOrDefault(c => c.FieldName == propertiy.Name && !c.PKConstraint); * if (tmp != null) * { * list1.Add($"[{propertiy.Name}]"); * var propertyType = propertiy.PropertyType; * var newVal = TypeConversionTool.ConvertToTarget(tmp.TypeName, propertyType, propertiy.GetValue(t)); * var result = string.IsNullOrEmpty(newVal.Item2) ? newVal.Item1 : ""; * list2.Add($"'{result}'"); * } * * } * string mainSql = string.Join(",", list1); * var subSql = string.Join(",", list2); * var sql = $@"INSERT INTO [dbo].{attribute.TableName} * ({mainSql}) * VALUES * ({subSql})"; * * var para = new Hashtable(); * para.Add("sql", sql); * this.Add($"Add{attribute.TableName}", sql); * } */ #endregion #region Custom Update /* * public void CustomUpdate<T>(T t, List<SystemObjectFields> fields) * { * //找到表名称 * var typeT = typeof(T); * TableMappingAttribute attribute = BaseDaoAttribute.GetTableMappingAttribute(typeT); * if (attribute == null) * return; * * List<string> updateColumns = new List<string>(); * var properties = typeT.GetProperties(); * * foreach (var propertiy in properties) * { * var tmp = fields.FirstOrDefault(c => c.FieldName == propertiy.Name && !c.PKConstraint); * if (tmp != null) * { * var propertyType = propertiy.PropertyType; * var str = $"[{tmp.FieldName}]='{TypeConversionTool.ConvertToTarget(tmp.TypeName, propertyType, propertiy.GetValue(t)).Item1}'"; * updateColumns.Add(str); * } * * } * * var PKConstraintColumnName = fields.FirstOrDefault(c => c.PKConstraint); * var pType = properties.FirstOrDefault(c => c.Name == PKConstraintColumnName.FieldName); * var PKConstraintColumnValue = TypeConversionTool.ConvertToTarget(PKConstraintColumnName.TypeName, pType.PropertyType, pType.GetValue(t)).Item1; * * var sql = $@" update {attribute.TableName} set {string.Join(",", updateColumns)} where {PKConstraintColumnName.FieldName}='{PKConstraintColumnValue}' "; * var para = new Hashtable(); * para.Add("sql", sql); * * this.Update($"Update{attribute.TableName}", para); * } */ #endregion #region Custom Delete public int CustomDelete <T>(List <int> ids) { //找到表名称 var typeT = typeof(T); TableMappingAttribute attribute = BaseDaoAttribute.GetTableMappingAttribute(typeT); if (attribute == null) { return(-1); } var sql = $@"DELETE FROM {attribute.TableName} WHERE Id IN ({string.Join(",", ids)})"; var para = new Hashtable(); para.Add("sql", sql); return(this.Delete($"Delete{attribute.TableName}", para)); }
public T GetOne <T>(int id) { var typeT = typeof(T); TableMappingAttribute attribute = BaseDaoAttribute.GetTableMappingAttribute(typeT); if (attribute == null) { return(default(T)); } var sql = $@"SELECT *FROM {attribute.TableName} where id={id} "; var param = new Hashtable(); param.Add("sql", sql); return(QueryForObject <T>($"GetOne{attribute.TableName}", param)); }