泛型实体插入oracle
public int Insert(T entity) { var type = entity.GetType(); var columns = new List<string>(); var values = new List<string>(); var parameters = new List<IDbDataParameter>(); var i = 0; foreach (var p in type.GetProperties()) { var value = p.GetValue(entity); if (value == null) continue; columns.Add(p.Name); var parameter = CreateParameter(i); parameter.ParameterName = parameter.ParameterName.Replace("@", string.Empty); parameter.Value = value; parameters.Add(parameter); i++; values.Add(parameter.ParameterName); } var columnNames = string.Join(",", columns); var paramNames = string.Join(",", values); var sql = $"INSERT INTO {type.Name}({columnNames}) VALUES({paramNames})"; var command = CreateCommand(sql, parameters.ToArray