我想使用实体框架 (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 及其功能/限制还不熟悉。
您可以简单地通过实体框架向 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).aspx and https://stackoverflow.com/a/147662/2699126
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)