sql - 如何从ef core中的sql获取sys.databases或sys.tables

标签 sql .net-core entity-framework-core

我有一个问题,我两天都无法解决。顺便说一句,我正在开发 .NET Core 2.2,这就是我使用 Entity Framework Core 的原因。

我需要从 sql 获取 sys.databases、sys.tables 和 sys.columns,但无论我如何尝试都无法访问它们。

有人建议我;创建一个存储过程并以这种方式获取它们。

var result = dbcontext.Databases.FromSql("sp_GetDatabases").ToList();
  • 我已经尝试过,但没有达到,因为我不想要上下文中的特定数据。 这仅适用于 DbContext 中的数据。

所以我没有找到如何获得它们。需要一些帮助!

最佳答案

var connectionDb = _context.Database.GetDbConnection();
if (connectionDb.State.Equals(ConnectionState.Closed))
    connectionDb.Open();
object data = null;
using (var command = connectionDb.CreateCommand())
{
command.CommandText = @"Your query here";

data = command.ExecuteScalar();
}

有点太晚了。但可能会帮助别人。

关于sql - 如何从ef core中的sql获取sys.databases或sys.tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56642350/

相关文章:

mysql - 如何根据另一个表中的值访问表中的行?

c# - 单元测试中的 ActionResult 问题无法断言。POST 返回值等于(asp.net core mvc web api)

c# - EF Core 和多个数据库

c# - ASP.NET Core 模型是否有类似 OnDelete 回调之类的东西?

asp.net-core - 如何添加不在 ConfigureServices 方法 ASP.NET Core 中的数据库上下文

sql - 我想用 sql 做的事情甚至可能吗?

SQL Server 2016 CTRP3.2 报表查看器缺少 JavaScript 方法

mysql - 一个查询中的 MAX() 和 SUM()

C# ILogger依赖注入(inject)错误: There is no argument

c# - Entity Framework Core 2.1 中特定环境的播种数据