gpt4 book ai didi

c# - 如何使用 Entity Framework 从 SQL Server 实例中获取数据库名称列表?

转载 作者:太空宇宙 更新时间:2023-11-03 18:22:19 26 4
gpt4 key购买 nike

我想使用 Entity Framework (EF) 查询 SQL Server 实例并返回该实例上的数据库名称列表。

我可以使用以下代码执行此操作,但想知道是否有 EF 的方法?

   public static string[] GetDatabaseNames(SqlConnection masterConn)
{
List<string> databases = new List<string>();

// retrieve the name of all the databases from the sysdatabases table
using (SqlCommand cmd = new SqlCommand("SELECT [name] FROM sysdatabases", masterConn))
{
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
databases.Add((string)rdr["name"]);
}
}
}

return databases.ToArray();
}

我应该提一下,我是 EF 及其功能/限制的新手。

最佳答案

您可以简单地通过 Entity Framework 将原始查询发送到您的 SQL Server:

using (var context = new MyContext()) 
{
var dbNames = context.Database.SqlQuery<string>(
"SELECT name FROM sys.databases").ToList();
}

来源:https://msdn.microsoft.com/en-us/library/jj592907(v=vs.113).aspxhttps://stackoverflow.com/a/147662/2699126

关于c# - 如何使用 Entity Framework 从 SQL Server 实例中获取数据库名称列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48418847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com