Внешние ключи GetOleDbSchemaTable на Sql Server 2005 - PullRequest
0 голосов
/ 16 февраля 2010

Я пытаюсь получить внешние ключи для таблицы в моей базе данных SQL Server 2005. Я сейчас использую функцию GetOleDbSchemaTable:

DataTable schemaTable = connection.GetOleDbSchemaTable(
        OleDbSchemaGuid.Foreign_Keys,
        new object[] { null, null, null, "TABLE" });

Это возвращает правильные внешние ключи, единственная проблема состоит в том, что UpdateRule и DeleteRule установлены в «Бездействие». Если я просматриваю ту же таблицу в SSMS, я вижу, что мой DeleteRule имеет значение «Set NULL». Разве функция GetOleDbSchemaTable не возвращает правильные правила внешнего ключа? Кто-нибудь еще сталкивался с этой проблемой?

1 Ответ

0 голосов
/ 16 февраля 2010

Я не уверен, почему OleDb будет возвращать неверную информацию, но вы пытались использовать SqlConnection и GetSchema вместо этого? Они специфичны для MSSQL, поэтому могут давать лучшие результаты.

...