Esempio n. 1
0
        public static string BuilderUpdateByIdSql(DapperSqls sqls, string updateFields, string leftChar, string rightChar)
        {
            string updateList = GetFieldsEqStr(updateFields.Split(',').ToList(), leftChar, rightChar);
            string sql        = string.Format("UPDATE {0}{1}{2} SET {3} WHERE {0}{4}{2}=@{4}", leftChar, sqls.TableName, rightChar, updateList, sqls.KeyName);

            return(sql);
        }
Esempio n. 2
0
        public static string BuilderUpdateByWhereSql(DapperSqls sqls, string where, string updateFields, string leftChar, string rightChar)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("UPDATE {0}{1}{2} SET ", leftChar, sqls.TableName, rightChar);
            if (string.IsNullOrEmpty(updateFields))      //修改所有
            {
                if (!string.IsNullOrEmpty(sqls.KeyName)) //有主键
                {
                    sb.AppendFormat(sqls.AllFieldsAtEqExceptKey);
                }
                else
                {
                    sb.AppendFormat(sqls.AllFieldsAtEq);
                }
            }
            else
            {
                string updateList = GetFieldsEqStr(updateFields.Split(',').ToList(), leftChar, rightChar);
                sb.Append(updateList);
            }
            sb.Append(" ");
            sb.Append(where);

            return(sb.ToString());
        }
Esempio n. 3
0
        public static DapperSqls GetDapperSqls(Type t)
        {
            Table table = t.GetCustomAttributes(false).FirstOrDefault(f => f is Table) as Table;

            if (table == null)
            {
                throw new Exception("类未标注Table的Attribute,请先标注");
            }
            else
            {
                DapperSqls DapperSqls = new DapperSqls();
                DapperSqls.TableName          = table.TableName;
                DapperSqls.KeyName            = table.KeyName;
                DapperSqls.IsIdentity         = table.IsIdentity;
                DapperSqls.AllFieldList       = new List <string>();
                DapperSqls.ExceptKeyFieldList = new List <string>();


                var allproperties = t.GetProperties();

                foreach (var item in allproperties)
                {
                    var igore = item.GetCustomAttributes(false).FirstOrDefault(f => f is Igore) as Igore;
                    if (igore == null)
                    {
                        DapperSqls.AllFieldList.Add(item.Name); //所有列

                        if (item.Name == DapperSqls.KeyName)
                        {
                            DapperSqls.KeyType = item.PropertyType;
                        }
                        else
                        {
                            DapperSqls.ExceptKeyFieldList.Add(item.Name); //去除主键后的所有列
                        }
                    }
                }

                return(DapperSqls);
            }
        }