【问题标题】:There is two database name inside sql text entity frameworksql文本实体框架里面有两个数据库名
【发布时间】:2020-11-03 10:08:51
【问题描述】:

我的解决方案中只有 1 个模型和数据库。当我尝试执行简单查询时,例如

var list=Db.table.ToList();

给出一个类似的错误

表 'dbname.dbname.table' 不存在

为什么不是 dbname.table 而是 dbname.dbname.table? 我使用的是 mysql 8.0.22 和兼容的 ef

【问题讨论】:

  • 您是否在实体模型构建器中的某处将架构设置为dbname? .net 中的模式与 MySql 中的模式不同。在 .net、postgres 和 mssql 中,它是一种命名空间。在 MySql 中,模式通常指的是数据库名称。所以就不一样了。
  • 不幸的是我认为这里有不同的问题@MortezaAsadi
  • 请在此处添加您的 DbContext 以解决您的问题。
  • @MuratSaygılı 我再重复一遍我的问题 :):您是否在模型构建器中的某处设置了架构?

标签: c# asp.net-mvc entity-framework mysql-8.0


【解决方案1】:

看看solution on github

  • 安装 MySQL 服务器 8.0.16
  • 安装完整的 MySQL Connector.Net x86 8.0.16
  • 安装此自定义重新打包的 VSIX MySQL Visual Studio
  • 如果在安装 MySQL Visual Studio 插件后显示无法执行 comamnd devenv /updateconfiguration 的警告,则以管理员身份在 Visual Studio 20xx 的开发人员命令提示符中手动执行该命令。
  • 在 Visual Studio Nuget 包管理器控制台中运行此命令 Install-Package EntityFramework
  • 管理 Nuget 包 > 搜索 Mysql > 安装 Mysql.Data v8.0.16
  • 管理 Nuget 包 > 搜索 Mysql > 安装 Mysql.Data.Entity v6.10.8
  • 管理 Nuget 包 > 搜索 Mysql.Data.EntityFramework > 安装 Mysql.Data.EntityFramework v8.0.16

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 2016-09-07
    • 2017-09-27
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    相关资源
    最近更新 更多