我的下拉列表显示我的网络中存在的所有服务器 当我将其更改为另一个下拉列表时,我想填充数据库名称 我想要一个 LINQ 查询来获取它。
最佳答案
请参阅question here关于如何获取登录用户可用的数据库列表:
SELECT name
FROM sys.sysdatabases
WHERE HAS_DBACCESS(name) = 1
在 LINQ 中实现此功能需要您将 sysdatabases View 发布到您自己的 View 中。我建议在其中一个数据库中为该作业创建一个 View :
CREATE VIEW [dbo].[vewDatabases]
AS
SELECT name
FROM sys.sysdatabases
WHERE HAS_DBACCESS(name) = 1
GO
将其添加到您的 LINQ 数据模型中,您将能够从中进行选择,如下所示 [c#]:
var databaseNames = serverDataContext.vewDatabases.Select(a => a.name);
然后您可以使用databaseNames 的内容填充DropDownList
。
关于asp.net - 如何在 LINQ 中从给定的 Sql Server 获取数据库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207569/