首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Entity Framework从SQL Server实例获取数据库名称列表?

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

Stack Overflow用户
提问于 2018-01-24 17:23:40
回答 2查看 1.9K关注 0票数 2

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

我可以使用下面的代码来做这件事,但是我想知道是否有一种使用EF的方法?

代码语言:javascript
复制
   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及其功能/限制还很陌生。

EN

回答 2

Stack Overflow用户

发布于 2018-01-24 17:32:58

您可以简单地通过Entity Framework向SQL Server发送一个原始查询:

代码语言:javascript
复制
using (var context = new MyContext()) 
{ 
    var dbNames = context.Database.SqlQuery<string>(
        "SELECT name FROM master.dbo.sysdatabases").ToList(); 
}

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

票数 6
EN

Stack Overflow用户

发布于 2018-01-24 17:51:26

在SQL数据库中创建视图

代码语言:javascript
复制
CREATE VIEW [dbo].[SysDatabasesView] AS SELECT * FROM sys.databases

然后将此对象添加到edmx中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48418847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档