private void VisitOutput(IExpressionVisitor visitor, ReturningClause returning) { if (returning == null) { return; } visitor.Output.AppendLine(); visitor.Output.Append("OUTPUT "); if (returning.Members == null || returning.Members.Count == 0) { visitor.Output.Append("DELETED.*"); } else { int index = 0; foreach (var member in returning.Members) { if (index++ > 0) { visitor.Output.Append(","); } visitor.Output.Append((member.Mode == ReturningClause.ReturningMode.Deleted ? "DELETED." : "INSERTED.") + member.Field.Name); } } if (returning.Table != null) { visitor.Output.Append(" INTO "); visitor.Output.Append(visitor.Dialect.GetIdentifier(returning.Table.Identifier())); } }
private void VisitOutput(ExpressionVisitorContext context, ReturningClause returning) { if (returning == null) { return; } context.WriteLine(); context.Write("OUTPUT "); if (returning.Members == null || returning.Members.Count == 0) { context.Write("INSERTED.*"); } else { int index = 0; foreach (var member in returning.Members) { if (index++ > 0) { context.Write(","); } context.Write((member.Mode == ReturningClause.ReturningMode.Deleted ? "DELETED." : "INSERTED.") + member.Field.Name); } } if (returning.Table != null) { context.Write(" INTO "); context.Write(context.Dialect.GetIdentifier(returning.Table.Identifier())); } }
protected override void VisitReturning(IExpressionVisitor visitor, ReturningClause returning) { /* * 由于 MySQL 的 INSERT 语句不支持 RETURN|RETURNING 子句,故不输出任何内容,且不调用基类同名方法以避免生成错误的语句。 */ }
protected override void VisitReturning(IExpressionVisitor visitor, ReturningClause returning, UpdateStatement statement) { /* * 由于 MySQL 的 UPDATE 语句不支持 RETURN|RETURNING 子句,故不输出任何内容,且不调用基类同名方法以避免生成错误的语句。 */ }