【问题标题】:SMO - PropertyNotSetException when accessing table propertiesSMO - 访问表属性时出现 PropertyNotSetException
【发布时间】:2015-07-03 00:38:16
【问题描述】:

我不确定这是否是预期行为,因为我在 MSDN 上的任何地方都找不到它的记录,但这似乎还是有点奇怪。

我正在编写一个使用 SMO 的程序。为了测试。我基本上有一个测试数据库,其中有一个表(结构不重要),它具有以下触发器。

CREATE TRIGGER [dbo].[MyTableInsert] ON [dbo].[MyTable] AFTER INSERT
AS
BEGIN
    PRINT 'after insert';
END

现在在我的代码中。我希望使用此代码来查看(并证明)表“MyTable”有一个 INSERT 触发器。但是运行该代码会引发PropertyNotSetException

var table = new Table(database, tableName.ToString());
Console.WriteLine(table.HasInsertTrigger); // Throws PropertyNotSetException

但是如果我在初始化表后调用Refresh() 方法。对 HasInsertTrigger 的调用返回 true 作为例外。

var table = new Table(database, tableName.ToString());
table.Refresh();
Console.WriteLine(table.HasInsertTrigger); // Returns true.

调用Refresh 似乎没有必要,但这是必需的,因为我找不到任何说明在访问任何属性之前需要调用它的文档。

【问题讨论】:

    标签: c# smo


    【解决方案1】:

    我应该在一英里外看到它...我正在创建表的新实例,而不是访问现有的实例。

    【讨论】:

      猜你喜欢
      • 2011-05-18
      • 2018-09-16
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 2014-01-11
      • 1970-01-01
      相关资源
      最近更新 更多