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()); }