本文整理汇总了C#中ITable.AddTrigger方法的典型用法代码示例。如果您正苦于以下问题:C# ITable.AddTrigger方法的具体用法?C# ITable.AddTrigger怎么用?C# ITable.AddTrigger使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITable
的用法示例。
在下文中一共展示了ITable.AddTrigger方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetupDeleteTrigger
private static void SetupDeleteTrigger(ITable Table)
{
Contract.Requires<ArgumentNullException>(Table != null, "Table");
Contract.Requires<ArgumentNullException>(Table.Columns != null, "Table.Columns");
var Columns = new StringBuilder();
var Builder = new StringBuilder();
Builder.Append("CREATE TRIGGER dbo.").Append(Table.Name).Append("_Audit_D ON dbo.")
.Append(Table.Name).Append(" FOR DELETE AS IF @@rowcount=0 RETURN")
.Append(" INSERT INTO dbo.").Append(Table.Name).Append("Audit").Append("(");
string Splitter = "";
foreach (IColumn Column in Table.Columns)
{
Columns.Append(Splitter).Append(Column.Name);
Splitter = ",";
}
Builder.Append(Columns.ToString());
Builder.Append(",AuditType) SELECT ");
Builder.Append(Columns.ToString());
Builder.Append(",'D' FROM deleted");
Table.AddTrigger(Table.Name + "_Audit_D", Builder.ToString(), TriggerType.Delete);
}
示例2: SetupInsertUpdateTrigger
private static void SetupInsertUpdateTrigger(ITable Table)
{
Contract.Requires<ArgumentNullException>(Table != null, "Table");
Contract.Requires<ArgumentNullException>(Table.Columns != null, "Table.Columns");
var Columns = new StringBuilder();
var Builder = new StringBuilder();
Builder.Append("CREATE TRIGGER dbo.").Append(Table.Name).Append("_Audit_IU ON dbo.")
.Append(Table.Name).Append(" FOR INSERT,UPDATE AS IF @@rowcount=0 RETURN declare @AuditType")
.Append(" char(1) declare @DeletedCount int SELECT @DeletedCount=count(*) FROM DELETED IF @DeletedCount=0")
.Append(" BEGIN SET @AuditType='I' END ELSE BEGIN SET @AuditType='U' END")
.Append(" INSERT INTO dbo.").Append(Table.Name).Append("Audit").Append("(");
string Splitter = "";
foreach (IColumn Column in Table.Columns)
{
Columns.Append(Splitter).Append(Column.Name);
Splitter = ",";
}
Builder.Append(Columns.ToString());
Builder.Append(",AuditType) SELECT ");
Builder.Append(Columns.ToString());
Builder.Append(",@AuditType FROM inserted");
Table.AddTrigger(Table.Name + "_Audit_IU", Builder.ToString(), TriggerType.Insert);
}
示例3: SetupTriggers
/// <summary>
/// Setups the columns.
/// </summary>
/// <param name="table">The table.</param>
/// <param name="item">The item.</param>
private static void SetupTriggers(ITable table, dynamic item)
{
if (item == null)
throw new ArgumentNullException(nameof(item));
if (table == null)
throw new ArgumentNullException(nameof(table));
string Name = item.Name;
int Type = item.Type;
string Definition = item.Definition;
table.AddTrigger(Name, Definition, Type.ToString(CultureInfo.InvariantCulture).To<string, TriggerType>());
}