1

Это мой SQL запросКак преобразовать SQL в LINQ

SELECT 
sys.sysobjects.name Name, 
sys.foreign_keys.* 
FROM 
sys.foreign_keys 
inner join sys.sysobjects on 
    sys.foreign_keys.parent_object_id = sys.sysobjects.id 
WHERE 
referenced_object_id = OBJECT_ID(N'[dbo].[Country]') 

Я установил Linqer для преобразования SQL в LINQ. Но я получил ошибку:

SQL cannot be converted to LINQ: Table [foreign_keys] not found in the current Data Context.

Я новичок в Linq. Может ли кто-нибудь помочь мне преобразовать SQL в Linq

+0

http://stackoverflow.com/questions/296972/sql-to-linq-tool и http://stackoverflow.com/questions/1339732/convert-sql-to-linq-to-sql и http://stackoverflow.com/questions/12238423/linqpad-convert-sql-to-linq-command – imonas

+0

imonas: У меня есть Linqer и linqpad. Но я получаю ошибку «SQL не может быть преобразован в LINQ: Таблица [foreign_keys] не найден в текущем контексте данных. ' – Mizbella

+0

Проблема заключается в том, что системные представления не будут получены Linqer. Если вы хотите прочитать эти таблицы в своем приложении, сначала создайте свои собственные представления на них, как это было сделано [здесь] (http://stackoverflow.com/a/8099311/861716) и напишите запрос на эти представления. –

ответ

1

Проблема в том, что системные представления не будут получены Linqer. Если вы хотите прочитать эти таблицы в своем приложении, сначала создайте свои собственные представления, как это было сделано here, и напишите запрос на эти представления.

CREATE VIEW SysObjectsView AS SELECT * FROM sys.sysobjects; 
GO 
CREATE VIEW SysForeignKeysView AS SELECT * FROM sys.foreign_keys; 
GO 

SELECT obj.name Name, fk.* 
FROM SysForeignKeysView fk 
INNER JOIN SysObjectsView obj ON fk.parent_object_id = obj.id 
INNER JOIN SysObjectsView objfk ON fk.referenced_object_id = objfk.id 
WHERE objfk.name = N'Country' 

Linqer должен быть в состоянии подняться на этих взглядах.

+0

Можно ли получить связанные имена таблиц с помощью linq в mvc3.Код, который я опубликовал, работает хорошо, но wat chnges я должен сделать, чтобы работать в mvc3 – Mizbella

+0

Сделайте представление частью контекста linq-to-sql. –

+0

получил сообщение об ошибке при отправке кода в Linqer «Ошибка компиляции выражения: Слишком много символов в буквах буквально " – Mizbella

Смежные вопросы