【发布时间】:2018-02-07 07:47:20
【问题描述】:
我有一个 SQL 查询,我想使用 EntityFramework 和 Linq 调用这个查询。我怎样才能做到这一点?
我想获取包含特定列名的表名:
SELECT DISTINCT t.name AS 'TableName'
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%CustomField%'
ORDER BY TableName
【问题讨论】:
-
您可以通过
context.Database.SqlQuery执行上述查询 -
这个问题没有意义......你需要阅读实体框架,
-
这看起来像XY problem。您应该告诉您要达到的目标,以便我们判断查找表名是否合适。 并且标记你所在的EF版本。
-
您的 DbContext 隐藏了数据库中表和列的实际名称。这使得它可以与具有相似结构但不同标识符的数据库一起使用。如果您的 DbContext 的用户需要知道表的名称,这是一个设计缺陷。需要这样做的功能应该是添加到派生的 DbContext 中的功能。
标签: c# sql entity-framework linq