使用这样的代码:
DataTable schema = conn.GetSchema();
DataTable tables = conn.GetSchema("Tables");
DataTable columns = conn.GetSchema("Columns");
可以获取有关模式的大量信息,但元数据版本(即:GetSchema())不会返回有关同义词的任何信息。
我们在环境中使用同义词。我可以使用GetSchema获取有关它们的Schema信息,还是需要其他方法?
答案 0 :(得分:3)
SQL Server的同义词没有架构集合:
似乎有一种方法可以使用.NET 3.5覆盖集合。我从来没有这样做过,所以我不知道它是否真的有效。基本思想是您创建一个XML文件来定义<div style="background-color: #D5ECFA; margin-left: 10px; margin-right: 10px;">
<div style="margin-bottom: 10px; margin-left: 10px; margin-right: 10px; margin-top: 10px;">
<b>Header</b><br>
<p>Paragraph 1............</p>
<p>Paragraph 2.........</p>
<p>Paragraph 3</p>
</div>
</div>
定义和查询架构数据的方式。然后,您可以更改应用程序配置以使用此XML文件覆盖可用的集合。
提供的链接中有一些示例可以将主键集合添加到架构中。如果您决定使用getschema
,那看起来很有希望。否则,您可以创建自己的架构函数,只需查询sys.synonyms即可获取同义词。