本文整理汇总了C#中Deveel.Data.Sql.Expressions.SqlExpression.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# SqlExpression.ToString方法的具体用法?C# SqlExpression.ToString怎么用?C# SqlExpression.ToString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Deveel.Data.Sql.Expressions.SqlExpression
的用法示例。
在下文中一共展示了SqlExpression.ToString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddCheck
public static void AddCheck(this ITransaction transaction, ObjectName tableName, SqlExpression expression,
ConstraintDeferrability deferrability, string constraintName)
{
var tn = SystemSchema.CheckInfoTableName;
var t = transaction.GetMutableTable(tn);
int colCount = t.TableInfo.ColumnCount;
try {
byte[] binExp;
using (var stream = new MemoryStream()) {
using (var writer = new BinaryWriter(stream, Encoding.Unicode)) {
SqlExpression.Serialize(expression, writer);
writer.Flush();
binExp = stream.ToArray();
}
}
// Insert check constraint data.
var uniqueId = transaction.NextTableId(tn);
constraintName = MakeUniqueConstraintName(constraintName, uniqueId);
var rd = t.NewRow();
rd.SetValue(0, uniqueId);
rd.SetValue(1, constraintName);
rd.SetValue(2, tableName.ParentName);
rd.SetValue(3, tableName.Name);
rd.SetValue(4, expression.ToString());
rd.SetValue(5, (short)deferrability);
if (colCount > 6) {
rd.SetValue(6, DataObject.Binary(new SqlBinary(binExp)));
}
t.AddRow(rd);
} catch (ConstraintViolationException e) {
// Constraint violation when inserting the data. Check the type and
// wrap around an appropriate error message.
if (e.ErrorCode == SqlModelErrorCodes.UniqueViolation) {
// This means we gave a constraint name that's already being used.
throw new InvalidOperationException("Check constraint name '" + constraintName + "' is already being used.");
}
throw;
}
}
示例2: AddCheck
public static void AddCheck(this ITransaction transaction, ObjectName tableName, SqlExpression expression,
ConstraintDeferrability deferrability, string constraintName)
{
var tn = SystemSchema.CheckInfoTableName;
var t = transaction.GetMutableTable(tn);
int colCount = t.TableInfo.ColumnCount;
try {
byte[] binExp;
using (var stream = new MemoryStream()) {
using (var writer = new BinaryWriter(stream, Encoding.Unicode)) {
SqlExpression.Serialize(expression, writer);
writer.Flush();
binExp = stream.ToArray();
}
}
// Insert check constraint data.
var uniqueId = transaction.NextTableId(tn);
constraintName = MakeUniqueConstraintName(constraintName, uniqueId);
var rd = t.NewRow();
rd.SetValue(0, uniqueId);
rd.SetValue(1, constraintName);
rd.SetValue(2, tableName.ParentName);
rd.SetValue(3, tableName.Name);
rd.SetValue(4, expression.ToString());
rd.SetValue(5, (short) deferrability);
if (colCount > 6) {
rd.SetValue(6, Field.Binary(new SqlBinary(binExp)));
}
t.AddRow(rd);
} catch (UniqueKeyViolationException) {
throw new InvalidOperationException("Check constraint name '" + constraintName + "' is already being used.");
}
}