/// <summary> /// 向后拼接 Insert 语句之后的 GetIdentity 的语句。 /// </summary> /// <param name="insertStatement">Insert 语句信息</param> public abstract void BuildGetIdentity(InsertStatement insertStatement);
/// <summary> /// 向后拼接 Insert 语句。 /// </summary> /// <param name="insertStatement">Insert 语句信息</param> public virtual void BuildInsertStatement(InsertStatement insertStatement) { if (insertStatement.Values != null && insertStatement.Values.Count != 0) { BuildCode(Code_Insert); BuildCode(Code_Space); BuildTable(insertStatement.Table); BuildCode(Code_Parenthesis_Bracket_Begin); var isFirst = true; foreach (var item in insertStatement.Values) { if (!isFirst) { BuildCode(Code_Comma); BuildCode(Code_Space); } BuildColumn(item.Column); isFirst = false; } BuildCode(Code_Parenthesis_Bracket_End); BuildCode(Code_Space); BuildCode(Code_Values); BuildCode(Code_Parenthesis_Bracket_Begin); isFirst = true; foreach (var item in insertStatement.Values) { if (!isFirst) { BuildCode(Code_Comma); BuildCode(Code_Space); } Invoke(nameof(BuildValue), item.Value); isFirst = false; } BuildCode(Code_Parenthesis_Bracket_End); if (insertStatement.GetIdentity) { BiildStatementEnd(); BuildGetIdentity(insertStatement); } BiildStatementEnd(); } }