Database Microsoft企业库连接字符串

Database Microsoft企业库连接字符串,database,enterprise-library,database-connection,Database,Enterprise Library,Database Connection,大家好,我已经成功地从代码中显示的数据库实例中获取了数据。但是如何从数据库实例中获取数据库名称呢。我找不到与此相关的任何属性。请帮忙 private Database _db = EnterpriseLibraryContainer.Current.GetInstance<Database>("ConnString"); 私有数据库_db=EnterpriseLibraryContainer.Current.GetInstance(“ConnString”); 没有明确的属性,因为

大家好,我已经成功地从代码中显示的数据库实例中获取了数据。但是如何从数据库实例中获取数据库名称呢。我找不到与此相关的任何属性。请帮忙

private Database _db = EnterpriseLibraryContainer.Current.GetInstance<Database>("ConnString");
私有数据库_db=EnterpriseLibraryContainer.Current.GetInstance(“ConnString”);

没有明确的属性,因为数据库是一个独立于数据库技术的类,“数据库名称”的概念是特定于数据库的。见鬼,像Sqlite或SqlCE这样的东西甚至没有“数据库名”,只有文件名

如果您知道数据库的类型,可以使用“db.ConnectionString”获取连接字符串,然后通过该字符串进行解析。每个ADO.NET提供程序都包含一个连接字符串生成器类,用于为您进行解析

例如,如果您有MS Sql连接字符串,则可以通过以下方式获取数据库名称:

var connectionStringBuilder = new SqlConnectionStringBuilder(_db.ConnectionString);
string databaseName = connectionStringBuilder.InitialCatalog;
当然,不同的数据库提供者会使用不同的属性和术语来提供这些信息