Получить все ссылающиеся столбцы в ссылочный столбец в linq - PullRequest
0 голосов
/ 14 июня 2010

Допустим, у вас есть таблица с именем Sales и SalesOrderId.Затем у вас есть две таблицы SalesOrderHeader и SalesReport, которые ссылаются на SalesOrderId.Начиная с таблиц продаж и SalesOrderId, есть ли способ выяснить, что эти две таблицы ссылаются на него с помощью linq?Я хочу добавить Debug.Assert в мой код, чтобы я мог обновлять этот фрагмент кода всякий раз, когда к столбцу добавляется другое ограничение внешнего ключа.

1 Ответ

1 голос
/ 14 июня 2010

На стороне базы данных это может помочь:

SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'

SELECT [name] as FKeyName,
  (SELECT o1.[name] from sys.objects o1 where
    o1.[object_id] = fk.parent_object_id) as ParentTableName,
  (SELECT o2.[name] from sys.objects o2 where
    o2.[object_id] = fk.referenced_object_id) as ReferencedTableName
FROM sys.foreign_keys fk

Если вам действительно нужны имена столбцов, откройте sp_helpconstraint в системных хранимых процедурах и извлеките из них логику.


На стороне дизайнера файл dbml имеет формат xml ... ищите Database.Table.Type.Association

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...