2

訪問者に、現在どのデータベースとやり取りしているかを知らせたいと思います。私のアプリケーションには、web.config に 1 つの Entity Framework 接続文字列しかありません。データベース名 (初期カタログ) は、web.config に保存されている接続文字列の一部です。

次の html を含めることで、共有レイアウトに接続文字列全体を公開できます。

You are connecting to <span class="databasename">@System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionStringName"].ConnectionString)</span>!

しかし、データベース名だけで接続文字列全体は必要ありません。コントローラーを使用したり、新しい SqlConnection() をインスタンス化したりせずにこれを行う方法はありますか? 助言がありますか?

4

2 に答える 2

2

次のようなことを試すことができます:

@{
    var sqlDB = new System.Data.SqlClient.SqlConnectionStringBuilder(
        System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionStringName"].ConnectionString)
    );
    var dbName = sqlDB.InitialCatalog;
}

You are connecting to <span class="databasename">@dbName</span>!

これにより、接続文字列が解析され、データベースが返されます。または、接続文字列とは異なるプロパティが必要な場合は、SqlConnectionStringBuilderオブジェクトの別のプロパティを使用してください。

于 2013-04-02T16:41:54.043 に答える