我正在尝试在SQL Server 2005数据库中获取表的外键。我现在正在使用GetOleDbSchemaTable函数:
DataTable schemaTable = connection.GetOleDbSchemaTable(
OleDbSchemaGuid.Foreign_Keys,
new object[] { null, null, null, "TABLE" });
这会拉回正确的外键,唯一的问题是UpdateRule和DeleteRule设置为“No Action”。如果我浏览到SSMS中的同一个表,我可以看到我的DeleteRule是“Set NULL”。 GetOleDbSchemaTable函数是否未返回正确的外键规则?还有其他人遇到过这个问题吗?
答案 0 :(得分:0)
我不确定为什么OleDb会返回不正确的信息,但您是否尝试过使用SqlConnection
和GetSchema
?它们是MSSQL特定的,因此可能会产生更好的结果。