假设我有一个表“foo”,我想使用 SMO 编写脚本。有没有办法让生成的脚本中的表具有不同的名称,例如“foo2”?
Database db = sqlServer.Databases["testdb"];
Table foo = db.Tables["foo"];
foo.Name = "foo2";
如果这样做,当我尝试设置 foo.Name 时会出现此异常:
“无法对此对象执行操作,因为该对象是集合的成员。”
有没有办法用 SMO 做到这一点?
假设我有一个表“foo”,我想使用 SMO 编写脚本。有没有办法让生成的脚本中的表具有不同的名称,例如“foo2”?
Database db = sqlServer.Databases["testdb"];
Table foo = db.Tables["foo"];
foo.Name = "foo2";
如果这样做,当我尝试设置 foo.Name 时会出现此异常:
“无法对此对象执行操作,因为该对象是集合的成员。”
有没有办法用 SMO 做到这一点?
对于像我这样试图了解如何使用 SMO 重命名列的人,如果您使用与上述相同的方法
foo.Name = "foo2";
您将在此线程中收到相同的异常消息。要重命名该列,您只需要去
foo.Rename("foo2");
有关详细信息,请参阅MSDN :
您必须将 Script 方法的输出放入字符串变量并使用 Replace 替换名称。