Exemple #1
0
        public string BuildUpdate()
        {
            StringBuilder sbSql         = new StringBuilder();
            var           updateColumns = _tableMapping.GetUpdateColumns();
            var           keyColumns    = _tableMapping.GetKeyColumns();
            var           lsUpdateSet   = new List <string>();
            var           lsWhere       = new List <string>();

            if (keyColumns.Count < 1)
            {
                throw new EntityException("实体没有设置主键!");
            }

            if (updateColumns.Count < 1)
            {
                throw new EntityException("实体没有对应要更新到数据的属性!");
            }

            foreach (var col in updateColumns)
            {
                lsUpdateSet.Add(string.Format("{0}=#{1}#", col.ColumnName, col.PropertyName));
            }

            foreach (var keyCol in keyColumns)
            {
                lsWhere.Add(string.Format("{0}=#{1}#", keyCol.ColumnName, keyCol.PropertyName));
            }


            sbSql.AppendFormat("Update {0} set {1}  Where {2}",
                               _tableMapping.TableName,
                               string.Join(" , ", lsUpdateSet.ToArray()),
                               string.Join(" And ", lsWhere.ToArray())
                               );

            return(sbSql.ToString());
        }