/// <summary> /// 根据ID删除数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="id"></param> /// <returns></returns> public bool DeleteById <T>(int id) where T : BaseModel { Type type = typeof(T); string sql = SqlStringCache <T> .GetDelteSql() + id; return(Execute(sql, i => { return i.ExecuteNonQuery() > 0; })); }
/// <summary> /// 新增数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> /// <returns></returns> public bool Insert <T>(T model) where T : BaseModel { Type type = model.GetType(); string sql = SqlStringCache <T> .GetInsertSql(); SqlParameter[] sqlParameters = type.GetNoKeyProperties().Select(i => new SqlParameter($"@{i.Name}", i.GetValue(model) == null ? DBNull.Value : i.GetValue(model))).ToArray(); return(Execute(sql, i => { return i.ExecuteNonQuery() > 0; }, sqlParameters)); }
/// <summary> /// 根据ID修改数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="id"></param> /// <param name="model"></param> /// <returns></returns> public bool UpdateById <T>(int id, T model) where T : BaseModel { Type type = typeof(T); string sql = SqlStringCache <T> .GetUpdateSql() + id; SqlParameter[] sqlParameters = type.GetNoKeyProperties().Select(i => new SqlParameter($"@{i.Name}", i.GetValue(model) == null ? DBNull.Value : i.GetValue(model))).ToArray(); return(Execute(sql, i => { return i.ExecuteNonQuery() > 0; }, sqlParameters)); }
/// <summary> /// 根据ID查询 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="id"></param> /// <returns></returns> public T QueryById <T>(int id) where T : BaseModel { Type type = typeof(T); string sql = $"{SqlStringCache<T>.GetQuerySql()}where id={id}"; return(Execute(sql, i => { SqlDataReader reader = i.ExecuteReader(); if (reader.Read()) { return GetDate <T>(reader); } return null; })); }
/// <summary> /// 查询所有数据 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public List <T> QueryAll <T>() where T : BaseModel { Type type = typeof(T); string sql = SqlStringCache <T> .GetQuerySql(); return(Execute(sql, i => { List <T> result = new List <T>(); SqlDataReader reader = i.ExecuteReader(); while (reader.Read()) { result.Add(GetDate <T>(reader)); } return result; })); }