我创建了一个ASP.NET EF应用程序与MySQL使用以下教程: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的数据库属性中.

推荐答案

这应该能帮到你

string databaseName = context.Database.Connection.Database;

Mysql相关问答推荐

无条件理解MySQL中内连接和交叉连接的相似性

如果WHERE语句包含所有列,唯一键顺序是否重要?

MySQL将JSON值从对象类型更改为数组

根据上一行S列结果计算列的查询

S在我的SQL代码中的外键出了什么问题?

使用Workbench时如何添加mysqldump配置标志

将上传文件的存储路径放在一张表中的缺点是什么?

Mysql 查询返回未定义的 node.js

谁能帮我优化低性能的mysql查询

使用 SET 变量进行 MySQL 查询

在一个 SQL 查询中对同一列中相同类型的不同值求和

mysql 执行注释部分

无法通过迁移在现有表中插入行 - Rails 6

MySQL如何通过外键ID Select 多行?

当您无法修复表时,如何修复 MySQL不正确的密钥文件错误?

安装 mysql-python (Windows)

仅在 MYSQL DATEDIFF 中显示小时数

WHERE 子句中的条件顺序会影响 MySQL 性能吗?

在 MySQL 中签名或未签名

MySQL 错误 2014 的原因在其他无缓冲查询处于活动状态时无法执行查询