自制SQLServer CRUD处理类 方便无法使用EF或者其他ORM框架时使用

   public class DBHelper:IDisposable
    {
        /// <summary>
        /// 连接字符串
        /// </summary>
        private string connString { get; set; }

        public DBHelper()
        {
            this.connString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 
        }

        public DBHelper(string connectionString)
        {
            this.connString = connectionString;
        }

        /// <summary>
        /// 得到一个连接
        /// </summary>
        public SqlConnection GetConn()
        {
            SqlConnection conn = new SqlConnection(this.connString);         
            conn.Open();
            return conn;
        }



        /// <summary>
        /// 获取一个DataReader
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <returns></returns>
        public SqlDataReader GetDataReader(string sql)
        {
           
            using (SqlCommand cmd = new SqlCommand(sql, GetConn()))
            {
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
        }
        /// <summary>
        /// 获取一个DataReader,带参数
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <returns></returns>
        public SqlDataReader GetDataReader(string sql, SqlParameter[] param)
        {
        
            using (SqlCommand cmd = new SqlCommand(sql, GetConn()))
            {
                if (param != null && param.Length > 0)
                    cmd.Parameters.AddRange(param);
                SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                cmd.Parameters.Clear();
                return dr;
            }
        }


  
        /// <summary>
        /// 获取一个DataTable
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <returns></returns>
        public DataTable GetDataTable(string sql)
        {
              using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {                
                    using (SqlDataAdapter Dap = new SqlDataAdapter(cmd))
                    {
                        DataTable dt = new DataTable();
                        Dap.Fill(dt);
                        cmd.Parameters.Clear();
                        return dt;
                    }
                }
            }
              
            
        }
        /// <summary>
        /// 获取一个DataTable,带参数
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <returns></returns>
        public DataTable GetDataTable(string sql, SqlParameter[] param)
        {

            using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (param != null && param.Length > 0)
                        cmd.Parameters.AddRange(param);
                    using (SqlDataAdapter Dap = new SqlDataAdapter(cmd))
                    {
                        DataTable dt = new DataTable();
                        Dap.Fill(dt);
                        cmd.Parameters.Clear();
                        return dt;
                    }
                }
            }
        }
        /// <summary>
        /// 执行SQL
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public int Execute(string sql)
        {
          
            using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        /// <summary>
        /// 执行SQL(事务)
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public int Execute(Dictionary<string, SqlParameter[]> sqlList)
        {
            using (SqlConnection conn = GetConn())
            {
                int i = 0;
                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        foreach (var sql in sqlList)
                        {

                            cmd.Connection = conn;
                            cmd.CommandText = sql.Key;
                            if (sql.Value != null && sql.Value.Length > 0)
                                cmd.Parameters.AddRange(sql.Value.ToArray());
                            i += cmd.ExecuteNonQuery();
                            cmd.Parameters.Clear();
                        }
                    }
                    trans.Commit();
                    return i;
                }
                catch (SqlException err)
                {
                    trans.Rollback();
                    throw new Exception(err.Message);
                }
            }
        }
        /// <summary>
        /// 执行SQL(事务)
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public string ExecuteScalar(Dictionary<string, SqlParameter[]> sqlList)
        {
            using (SqlConnection conn = GetConn())
            {
                object value = null;
                SqlTransaction trans = conn.BeginTransaction();
                try
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        foreach (var sql in sqlList)
                        {
                            cmd.Connection = conn;
                            cmd.CommandText = sql.Key;
                            if (sql.Value != null && sql.Value.Length > 0)
                                cmd.Parameters.AddRange(sql.Value.ToArray());
                            value = cmd.ExecuteScalar();
                            cmd.Parameters.Clear();
                        }
                    }
                    trans.Commit();
                    return value != null ? value.ToString() : string.Empty;
                }
                catch (SqlException err)
                {
                    trans.Rollback();
                    throw new Exception(err.Message);
                }
            }
        }
        /// <summary>
        /// 执行带参数的SQL
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public int Execute(string sql, SqlParameter[] param)
        {
         
            using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(param);
                    int r = -1;
                    r = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return r;
                }
            }
        }

        /// <summary>
        /// 执行带参数的SQL
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public string ExecuteScalar(string sql, SqlParameter[] param)
        {
            
            using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(param);
                    string r = string.Empty;
                    object obj = cmd.ExecuteScalar();
                    r = obj != null ? obj.ToString() : string.Empty;
                    cmd.Parameters.Clear();
                    return r;
                }
            }
        }
        /// <summary>
        /// 执行带参数的SQL
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public int Execute(string sql, SqlParameter[] param, out int identity)
        {
          
            using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (param != null && param.Length > 0)
                        cmd.Parameters.AddRange(param);
                    int i = cmd.ExecuteNonQuery();
                    SqlCommand cmd1 = new SqlCommand("SELECT @@IDENTITY", conn);
                    object MaxIDObject = cmd1.ExecuteScalar();
                    int MaxID;
                    identity = MaxIDObject != null && int.TryParse(MaxIDObject.ToString(), out MaxID) ? MaxID : -1;
                    cmd1.Dispose();
                    cmd.Parameters.Clear();
                    return i;
                }
            }
        }
        /// <summary>
        /// 得到一个字段的值
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public string GetFieldValue(string sql)
        {
           
            using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    object obj = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                    return obj != null ? obj.ToString() : string.Empty;
                }
            }
        }
        /// <summary>
        /// 得到一个字段的值,带参数
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public string GetFieldValue(string sql, SqlParameter[] param)
        {
           
            using (SqlConnection conn = GetConn())
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (param != null && param.Length > 0)
                        cmd.Parameters.AddRange(param);
                    object obj = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                    return obj != null ? obj.ToString() : string.Empty;
                }
            }
        }


        /// <summary>
        /// 释放数据库连接
        /// </summary>
        public void Dispose()
        {
            if (new SqlConnection(this.connString) is SqlConnection)
            {
                if (new SqlConnection(this.connString) != null && new SqlConnection(this.connString).State != ConnectionState.Closed)
                {
                    try
                    {
                        new SqlConnection(this.connString).Close();
                    }
                    catch (SqlException err)
                    { }
                }
                new SqlConnection(this.connString).Dispose();
            }
        }
    }
/// <summary>
/// 数据处理辅助累,包含增删改查!
/// </summary>
public class DBCom
{
    public DBCom()
    {       
    }
    private List<Dictionary<string, object>> Getproperties<T>()
    {
        System.Reflection.PropertyInfo[] properties =
      typeof(T).GetProperties(System.Reflection.BindingFlags.Instance |
        System.Reflection.BindingFlags.Public);
        var ts = typeof(T);
        Dictionary<string, object> dicatpk = new Dictionary<string, object>();
        Dictionary<string, object> dicpk = new Dictionary<string, object>();
        foreach (System.Reflection.PropertyInfo item in properties)
        {
            string name = item.Name;
            var pName = ts.GetProperty(name);
            var attrs = pName.GetCustomAttributes(true);        
            string DisplayName = "";
            foreach (DisplayNameAttribute attr in attrs)
            {
                DisplayName = attr.DisplayName;
            }
            if (DisplayName.ToLower().Equals("atpk"))
            {
                dicatpk.Add(name, "");
            }
            if (DisplayName.ToLower().Equals("pk"))
            {
                dicpk.Add(name, "");
            }
        }
        List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
        list.Add(dicatpk);
        list.Add(dicpk);
        return list;
    }
    private List<Dictionary<string, object>> Getproperties<T>(T t)
    {
        System.Reflection.PropertyInfo[] properties =
        t.GetType().GetProperties(System.Reflection.BindingFlags.Instance |
        System.Reflection.BindingFlags.Public);
        var ts = typeof(T);
        Dictionary<string, object> dic = new Dictionary<string, object>();
        Dictionary<string, object> dicatpk = new Dictionary<string, object>();
        Dictionary<string, object> dicpk = new Dictionary<string, object>();
        foreach (System.Reflection.PropertyInfo item in properties)
        {
            string name = item.Name;
            object value = item.GetValue(t, null);
            var pName = ts.GetProperty(name);
            var attrs = pName.GetCustomAttributes(true);      
            string DisplayName = "";
            foreach (DisplayNameAttribute attr in attrs)
            {
                DisplayName = attr.DisplayName;
            }
            if (value != null && !DisplayName.ToLower().Equals("atpk"))
            {
                dic.Add(name, value);
            }
            if (DisplayName.ToLower().Equals("atpk"))
            {
                dicatpk.Add(name, value);
            }
            if (DisplayName.ToLower().Equals("pk"))
            {
                dicpk.Add(name, value);
            }
        }
        List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
        list.Add(dic);
        list.Add(dicatpk);
        list.Add(dicpk);
        return list;
    }
    /// <summary>
    /// 根据实体向数据库中添加数据
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="t">实体</param>
    /// <returns>影响记录数</returns>
    public int Add<T>(T t)
    {
        var list = Getproperties<T>(t);
        if (list.Count > 0)
        {
            var ts = typeof(T);
            var dic = list[0];
            string tStr = "insert into " + ts.Name + " (";
            foreach (var item in dic)
            {
                tStr += string.Format("{0}", item.Key) + ",";
            }
            tStr = tStr.TrimEnd(',') + ") values (";
            foreach (var item in dic)
            {
                tStr += string.Format("{0}", "@" + item.Key) + ",";
            }
            tStr = tStr.TrimEnd(',') + ") ;";
            List<SqlParameter> listPM = new List<SqlParameter>();
            foreach (var item in dic)
            {
                listPM.Add(new SqlParameter("@" + item.Key, item.Value));
            }
            return new DBHelper().Execute(tStr, listPM.ToArray());
        }
        else
        {
            throw new Exception("没找到数据表");
        }
    }

    /// <summary>
    /// 多条件修改实体内容
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="t">实体</param>
    /// <param name="wkey">修改数据必须满足的字段,用 , 隔开例: id,name</param>
    /// <returns>影响行数</returns>
    public int Update<T>(T t,string wkey)
    {
        var list = Getproperties<T>(t);
        if (list.Count > 0)
        {
            var ts = typeof(T);
            var dic = list[0];
            string tStr = "UPDATE  " + ts.Name + " SET ";
            foreach (var item in dic)
            {
                tStr += string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key) + ",";
            }
            tStr = tStr.TrimEnd(',');
            string where = " 1=1 ";         
            if(wkey!=null){
                var skey = wkey.Split(',');
                foreach (var item in skey)
                {
                    foreach (var idic in dic)
                    {
                        if (idic.Key.ToLower().Equals(item.Trim().ToLower())) {
                            where += " and " + string.Format("{0}", idic.Key) + "=" + string.Format("{0}", "@" + idic.Key);
                        }                       
                    }                    
                }            
            }
            tStr += " where " + where + ";";
            List<SqlParameter> listPM = new List<SqlParameter>();
            foreach (var item in dic)
            {
                listPM.Add(new SqlParameter("@" + item.Key, item.Value));
            }
            if (list.Count > 1)
            {
                foreach (var item in list[1])
                {
                    listPM.Add(new SqlParameter("@" + item.Key, item.Value));
                }
            }
            return new DBHelper().Execute(tStr, listPM.ToArray());
        }
        else
        {
            throw new Exception("没找到数据表");
        }
    }

    /// <summary>
    /// 根据主键修改实体
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="t">实体</param>
    /// <returns>影响记录数</returns>
    public int Update<T>(T t)
    {
        var list = Getproperties<T>(t);
        if (list.Count > 0)
        {
            var ts = typeof(T);
            var dic = list[0];
            string tStr = "UPDATE  " + ts.Name + " SET ";
            foreach (var item in dic)
            {
                tStr += string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key) + ",";
            }
            tStr = tStr.TrimEnd(',');
            string where = " 1=1 ";
            if (list.Count > 1)
            {
                foreach (var item in list[1])
                {
                    where += " and " + string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key);
                }
            }
            if (list.Count > 2)
            {
                foreach (var item in list[2])
                {
                    where += " and " + string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key);
                }
            }
            tStr += " where " + where + ";";
            List<SqlParameter> listPM = new List<SqlParameter>();
            foreach (var item in dic)
            {
                listPM.Add(new SqlParameter("@" + item.Key, item.Value));
            }
            if (list.Count > 1)
            {
                foreach (var item in list[1])
                {
                    listPM.Add(new SqlParameter("@" + item.Key, item.Value));
                }
            }
            return new DBHelper().Execute(tStr, listPM.ToArray());
        }
        else
        {
            throw new Exception("没找到数据表");
        }
    }

    /// <summary>
    /// 根据主键删除实体
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="pk">主键</param>
    /// <returns>影响行数</returns>
    public int Delete<T>(object pk)
    {
        var list = Getproperties<T>();
        var ts = typeof(T);
        string tStr = "delete     from " + ts.Name;
        string where = " 1=1 ";
        if (list.Count > 0)
        {
            foreach (var item in list[0])
            {
                where += " and " + string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key);
            }
        }
        if (list.Count > 1)
        {
            foreach (var item in list[1])
            {
                where += " and " + string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key);
            }
        }
        tStr += " where " + where + ";";
        List<SqlParameter> listPM = new List<SqlParameter>();
        if (list.Count > 0)
        {
            foreach (var item in list[0])
            {
                listPM.Add(new SqlParameter("@" + item.Key, pk));
            }
        }
        if (list.Count > 1)
        {
            foreach (var item in list[1])
            {
                listPM.Add(new SqlParameter("@" + item.Key, pk));
            }
        }
        return  new DBHelper().Execute(tStr, listPM.ToArray());
    }

    /// <summary>
    /// 根据满足的实体字段删除实体
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="t">实体数据</param>
    /// <param name="wkey">删除数据必须满足的字段,用 , 隔开例: id,name</param>
    /// <returns>影响行数</returns>
    public int Delete<T>(T t, string wkey)
    {
        var list = Getproperties<T>(t);
        if (list.Count > 0)
        {
            var ts = typeof(T);
            var dic = list[0];
            string tStr = "delete from  " + ts.Name + "  ";
          
            tStr = tStr.TrimEnd(',');
            string where = " 1=1 ";
            if (wkey != null)
            {
                var skey = wkey.Split(',');
                foreach (var item in skey)
                {
                    foreach (var idic in dic)
                    {
                        if (idic.Key.ToLower().Equals(item.Trim().ToLower()))
                        {
                            where += " and " + string.Format("{0}", idic.Key) + "=" + string.Format("{0}", "@" + idic.Key);
                        }
                    }
                }
            }
            tStr += " where " + where + ";";
            List<SqlParameter> listPM = new List<SqlParameter>();
            foreach (var item in dic)
            {
                listPM.Add(new SqlParameter("@" + item.Key, item.Value));
            }
            if (list.Count > 1)
            {
                foreach (var item in list[1])
                {
                    listPM.Add(new SqlParameter("@" + item.Key, item.Value));
                }
            }
            return new DBHelper().Execute(tStr, listPM.ToArray());
        }
        else
        {
            throw new Exception("没找到数据表");
        }
    }


    /// <summary>
    /// 获取当前实体对应表的所有记录
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="names">查询的字段,隔开 例如:id,name</param>
    /// <param name="order">排序 例如:id desc</param>
    /// <returns>实体集合</returns>
    public List<T> GetAll<T>(string names = "*", string order = "")
    {
        var list = Getproperties<T>();
        var ts = typeof(T);
        string tStr = "select   " + names + " from " + ts.Name;
        string orderby = " ";
        if (order.Trim().Length > 3)
        {
            orderby = " order by " + order;
        }
        tStr += orderby + ";";
        return ToList<T>(new DBHelper().GetDataTable(tStr));
    }

    /// <summary>
    /// 根据主键返回一个实体
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="pk">主键值</param>
    /// <param name="names">查询的字段,隔开 例如:id,name</param>
    /// <returns>一个实体</returns>
    public T GetOne<T>(object pk, string names = "*") where T : new()
    {
        var list = Get<T>(pk, names);

        if (list != null)
        {
            return list[0];
        }
        else
        {
            return new T();
        }
    }

    /// <summary>
    /// 根据主键返回一个实体集合
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="pk">主键值</param>
    /// <param name="names">查询的字段,隔开 例如:id,name</param>
    /// <returns>一个实体集合</returns>
    public List<T> Get<T>(object pk, string names = "*")
    {
        var list = Getproperties<T>();
        var ts = typeof(T);
        string tStr = "select   " + names + " from " + ts.Name;
        string where = " 1=1 ";
        if (list.Count > 0)
        {
            foreach (var item in list[0])
            {
                where += " and " + string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key);
            }
        }
        if (list.Count > 1)
        {
            foreach (var item in list[1])
            {
                where += " and " + string.Format("{0}", item.Key) + "=" + string.Format("{0}", "@" + item.Key);
            }
        }
        tStr += " where " + where + ";";
        List<SqlParameter> listPM = new List<SqlParameter>();
        if (list.Count > 0)
        {
            foreach (var item in list[0])
            {
                listPM.Add(new SqlParameter("@" + item.Key, pk));
            }
        }
        if (list.Count > 1)
        {
            foreach (var item in list[1])
            {
                listPM.Add(new SqlParameter("@" + item.Key, pk));
            }
        }
        return ToList<T>(new DBHelper().GetDataTable(tStr, listPM.ToArray()));

    }

    /// <summary>
    /// 根据sql返回一个实体集合
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="Sql">sql语句</param>
    /// <param name="listPM">sql参数</param>
    /// <returns>实体集合</returns>
    public List<T> GetSql<T>(string Sql,List<SqlParameter> listPM)
    {
        return ToList<T>(new DBHelper().GetDataTable(Sql, listPM.ToArray()));
    }
    /// <summary>
    /// 根据sql返回一个实体集合
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="Sql">sql语句</param> 
    /// <returns>实体集合</returns>
    public List<T> GetSql<T>(string Sql)
    {
        return ToList<T>(new DBHelper().GetDataTable(Sql));
    }
    /// <summary>
    /// DataTable转换为实体集合
    /// </summary>
    /// <typeparam name="T">实体类型</typeparam>
    /// <param name="dt">DataTable</param>
    /// <returns>实体集合</returns>
    public static List<T> ToList<T>(DataTable dt)
    {
        if (dt == null || dt.Rows.Count == 0) { return new List<T>(); }
        List<T> mList = new List<T>();
        PropertyInfo[] pInfos = typeof(T).GetProperties();
        foreach (DataRow dr in dt.Rows)
        {
            T model = (T)Activator.CreateInstance(typeof(T));
            foreach (PropertyInfo info in pInfos)
            {
                try
                {
                    if (dr[info.Name] == DBNull.Value)
                    {
                        continue;
                    }
                }
                catch { continue; }
                try
                {
                    info.SetValue(model, dr[info.Name], null);
                }
                catch
                {
                    try
                    {
                        var FullName = info.PropertyType.FullName;
                        if (FullName.Contains("String"))
                        {
                            info.SetValue(model, dr[info.Name].ToString(), null);
                        }
                        else if (FullName.Contains("Int32"))
                        {
                            info.SetValue(model, Convert.ToInt32(dr[info.Name]), null);
                        }
                        else if (FullName.Contains("Int64"))
                        {
                            info.SetValue(model, Convert.ToInt64(dr[info.Name]), null);
                        }
                        else if (FullName.Contains("Decimal"))
                        {
                            info.SetValue(model, Convert.ToDecimal(dr[info.Name]), null);
                        }
                        else if (FullName.Contains("Double"))
                        {
                            info.SetValue(model, Convert.ToDouble(dr[info.Name]), null);
                        }
                        else if (FullName.Contains("Single"))
                        {
                            info.SetValue(model, Convert.ToSingle(dr[info.Name]), null);
                        }
                        else if (FullName.Contains("DateTime"))
                        {
                            info.SetValue(model, Convert.ToDateTime(dr[info.Name]), null);
                        }
                        else if (FullName.Contains("Guid"))
                        {
                            info.SetValue(model, new Guid(dr[info.Name].ToString()), null);
                        }
                        else
                        {
                            info.SetValue(model, dr[info.Name].ToString(), null);
                        }

                    }
                    catch (Exception ex)
                    {
                        throw new Exception(dr.Table.Columns[info.Name].ColumnName + "(" + info.PropertyType.Name + ")" + "=" + dr[info.Name] + "=" + ex.Message);
                    }
                }
            }
            mList.Add(model);
        }
        return mList;
    }
}
//用法新建一个实体,继承辅助类即可

///
<summary> /// cProject 的摘要说明 /// </summary> [Serializable] public class Project: DBCom { public Project() { // // TODO: 在此处添加构造函数逻辑 // } [DisplayName("pk")]//主键pk 自增主键atpk public int id { get; set; } public string projectName { get; set; } public string tagCode { get; set; } }

//在要使用得地方调用
var
project = new Project(); project.projectName = "xx"; project.Add<Project>(project); project.Update<Project>(project); project=project.GetOne<Project>(1); var list0=project.GetAll<Project>(); var list1=project.Get<Project>(1); var list2=project.GetSql<Project>("select id from Project");//如果只需要填装部分字段 只需查出需要字段即可 多表联合查询也可用此方法包装
 

猜你喜欢

转载自www.cnblogs.com/ruralcraftsman/p/11387793.html
今日推荐