简体   繁体   English

如何使用实体框架从 SQL Server 实例中获取数据库名称列表?

[英]How to get a list of database names from a SQL Server instance using Entity Framework?

I would like to use Entity Framework (EF) to query a SQL Server instance and return a list of database names on that instance.我想使用实体框架 (EF) 来查询 SQL Server 实例并返回该实例上的数据库名称列表。

I can do this using the following code, but wondered if there was a way with EF?我可以使用以下代码做到这一点,但想知道是否有办法使用 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();
    }

I should mention that I am new to EF and its capabilities / limitations.我应该提一下,我是 EF 及其功能/限制的新手。

You could simply send a raw query to your SQL Server through Entity Framework :您可以简单地通过 Entity Framework 向您的 SQL Server 发送原始查询:

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

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

You create view in SQL database您在 SQL 数据库中创建视图

CREATE VIEW [dbo].[SysDatabasesView] AS SELECT * FROM sys.databases

then add this object into edmx然后将此对象添加到 edmx

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用实体框架将表从SQL Server数据库中提取到C#中的List &lt;&gt;中 - Pulling a table from a SQL Server database into a List<> in C# using Entity Framework 使用Entity Framework从SQL数据库中获取所有内容 - Get All Except from SQL database using Entity Framework 如何从Entity Framework数据库中获取对象列表? - How to get a list of objects from Entity Framework database? 如何使用 Entity Framework Core 从所有消息的数据库中获取用户对话框列表 - How to get a list of user dialogs from the database of all messages using Entity Framework Core 如何使用 Entity Framework Core 从 sql 脚本创建数据库? - How to create a database from sql script using Entity Framework Core? 使用实体框架从数据库获取行 - Get rows from database using the Entity framework 实体框架 - 将记录列表从数据表保存到 SQL Server 数据库表 - Entity Framework - Saving list of records from a datatable to a SQL Server database table 如何使用身份列表从实体框架获取ObjectResult - How to get ObjectResult from Entity Framework using a list of Identities 如何使用Entity Framework获取列名及其值到数组元组列表 - How to get column names and and their values to array tuple list with Entity Framework 在Entity Framework和SQL Server Compact Edition数据库中获取错误 - get Error in Entity Framework and SQL Server Compact edition database
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM