public override BuildResultEntity DbUpdateSqlBuilder <T>(T model)
        {
            BuildResultEntity     bre        = new BuildResultEntity();
            string                tablename  = typeof(T).Name;
            List <DBMemberEntity> entitylist = GetEntityInfo(model);

            bre.entities = entitylist;

            if (entitylist.Count == 0)
            {
            }
            else
            {
                PropertyInfo          pi              = model.GetType().GetProperty("keyfields");
                List <string>         keyfields       = pi.GetValue(model) as List <string>;
                List <DBMemberEntity> conditiontities = new List <DBMemberEntity>();
                string valuesql = string.Empty;
                for (int i = 0; i < entitylist.Count; i++)
                {
                    if (keyfields.Contains(entitylist[i].MemberName))
                    {
                        conditiontities.Add(entitylist[i]);
                    }
                    else
                    {
                        valuesql += entitylist[i].MemberName + "=@" + entitylist[i].MemberName + ",";
                    }
                }

                string wheresql = DbConditionSqlBuilder(conditiontities);
                bre.sql = string.Format("update {0} set {1} {2}", tablename, valuesql.TrimEnd(','), wheresql);
            }
            return(bre);
        }
        public override int Delete <T>(System.Data.Common.DbConnection conn, System.Data.Common.DbTransaction trans, T model)
        {
            BuildResultEntity bre = DbDeleteSqlBuilder(model);

            SqlCommand cmd = new SqlCommand(bre.sql, (SqlConnection)conn);

            cmd.Transaction = (SqlTransaction)trans;
            if (bre.entities != null)
            {
                foreach (DBMemberEntity m in bre.entities)
                {
                    SqlParameter param = new SqlParameter(m.MemberName, m.MemberValue);
                    cmd.Parameters.Add(param);
                }
            }

            return(cmd.ExecuteNonQuery());
        }
        public override BuildResultEntity DbDeleteSqlBuilder <T>(T model)
        {
            BuildResultEntity     bre        = new BuildResultEntity();
            string                tablename  = typeof(T).Name;
            List <DBMemberEntity> entitylist = GetEntityInfo(model);

            bre.entities = entitylist;

            if (entitylist.Count == 0)
            {
            }
            else
            {
                string strCondition = DbConditionSqlBuilder(entitylist);

                bre.sql = string.Format("DELETE FROM {0} {1}", tablename, strCondition);
            }
            return(bre);
        }
        public override BuildResultEntity DbInsertSqlBuilder <T>(T model)
        {
            BuildResultEntity     bre        = new BuildResultEntity();
            string                tablename  = typeof(T).Name;
            List <DBMemberEntity> entitylist = GetEntityInfo(model);

            bre.entities = entitylist;

            if (entitylist.Count == 0)
            {
            }
            else
            {
                string strNameSQL  = string.Empty;
                string strValueSQL = string.Empty;
                foreach (DBMemberEntity entity in entitylist)
                {
                    strNameSQL  += entity.MemberName + ",";
                    strValueSQL += "@" + entity.MemberName + ",";
                }
                bre.sql = string.Format("insert into {0}({1}) values ({2})", tablename, strNameSQL.TrimEnd(','), strValueSQL.TrimEnd(','));
            }
            return(bre);
        }