gpt4 book ai didi

c# - ASP.NET EntityFramework 获取数据库名称

转载 作者:IT老高 更新时间:2023-10-28 23:49:17 25 4
gpt4 key购买 nike

我使用以下教程使用 MySQL 创建了一个 ASP.NET EF 应用程序:http://www.asp.net/identity/overview/getting-started/aspnet-identity-using-mysql-storage-with-an-entityframework-mysql-provider它可以工作,但我不喜欢设置在 MySqlInitializer 类中硬编码的数据库名称 - 在以下代码段中称为 myDatabaseName:

var migrationHistoryTableExists = ((IObjectContextAdapter)context).ObjectContext.ExecuteStoreQuery<int>(
string.Format(
"SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '{0}' AND table_name = '__MigrationHistory'",
"myDatabaseName"));

我正在寻找一种从 DbContext 动态获取数据库名称的方法,以便我仅将数据库名称存储在连接字符串中,而不是在我的 MySqlInitializer 中再次存储。但是我找不到名称的任何属性,无论是在 DbContext 中还是在 DbContext 的数据库属性中。

最佳答案

对于那些使用 EF 核心的人来说,可以这样做:

var databaseName = context.Database.GetDbConnection().Database

关于c# - ASP.NET EntityFramework 获取数据库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31505384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com