using System.Collections.Generic;using System.Reflection;using System.Text;namespace Helper{ public class DataHelper { /// <summary> /// 获取所有的公共属性名称 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> /// <returns></returns> public static string GetSqlNamesByModel_Properties<T>(T t) { StringBuilder name = new StringBuilder(); name.AppendFormat("("); foreach (PropertyInfo p in t.GetType().GetProperties()) { name.AppendFormat("{0},", p.Name); } string _name = name.ToString().Substring(0, name.ToString().Length - 1); _name += ")"; return _name; } /// <summary> /// 获取所有的公共字段名称 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> /// <returns></returns> public static string GetSqlNamesByModel<T>(T t) { StringBuilder name = new StringBuilder(); name.AppendFormat("("); foreach (FieldInfo p in t.GetType().GetFields()) { if (!t.GetType().ToString().Contains("List")) { name.AppendFormat("{0},", p.Name); } } string _name = name.ToString().Substring(0, name.ToString().Length - 1); _name += ")"; return _name; } /// <summary> /// 通过模型,List获取List的所有内容,并且拼接成sql的values格式 (公共属性) /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="T1"></typeparam> /// <param name="t"></param> /// <param name="t1"></param> /// <returns></returns> public static string GetSqlValuesByModel_PropertyInfo<T, T1>(T t, T1 t1) { StringBuilder values = new StringBuilder(); List<T1> list = t as List<T1>; foreach (T1 item in list) { values.AppendFormat("("); foreach (PropertyInfo p in item.GetType().GetProperties()) { var propertyInfo = item.GetType().GetProperty(p.Name); if (propertyInfo != null) values.AppendFormat("'{0}',", propertyInfo.GetValue(item, null)); } values.AppendFormat("),"); } string _values = ""; if (values.ToString().Length > 0) { _values = values.ToString().Substring(0, values.ToString().Length - 1); _values = _values.Replace(",)", ")"); } return _values; } /// <summary> /// 通过模型,List获取List的所有内容,并且拼接成sql的values格式 (公共字段) /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="T1"></typeparam> /// <param name="t"></param> /// <param name="t1"></param> /// <returns></returns> public static string GetSqlValuesByModel<T, T1>(T t, T1 t1) { StringBuilder values = new StringBuilder(); List<T1> list = t as List<T1>; foreach (T1 item in list) { values.AppendFormat("("); foreach (PropertyInfo p in item.GetType().GetProperties()) { var propertyInfo = item.GetType().GetProperty(p.Name); if (propertyInfo != null) values.AppendFormat("'{0}',", propertyInfo.GetValue(item, null)); } values.AppendFormat("),"); } string _values = ""; if (values.ToString().Length > 0) { _values = values.ToString().Substring(0, values.ToString().Length - 1); _values = _values.Replace(",)", ")"); } return _values; } }}