这是我的SQL查询
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]')
我已经安装了linq来转换SQL到linq。但是我得到了一个错误:
SQL不能转换为当前数据上下文中没有的LINQ: Table [foreign_keys] .
我是Linq的初学者。谁能帮我把SQL转换成Linq
问题是Linqer不会拾取系统视图。如果您希望在应用程序中读取这些表,请首先在这些表上创建自己的视图,就像这里所做的那样,然后在这些视图上编写查询。
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应该能够拾取这些视图