更新数据库:使用 mysql 的 asp.net core 错误

Posted

技术标签:

【中文标题】更新数据库:使用 mysql 的 asp.net core 错误【英文标题】:update database : error asp.net core with mysql 【发布时间】:2021-06-18 17:38:28 【问题描述】:

我正在使用带有 EF 核心的 mysql 数据库。

我使用 Identity Schema 到我现有的 MySql 数据库,在迁移之后,更新数据库生成这个:

“已为名为“Role”的“CreateTableOperation”类型的对象设置了架构“Identity”。MySQL 不支持架构的 EF Core 概念。任何“MigrationOperation”的任何架构属性都必须为空。可以通过在UseMySql 调用中设置SchemaBehavior 选项来更改此行为。"

error pic 那么如何设置 schemabehavior 选项。 怀着感激之情。

【问题讨论】:

【参考方案1】:

更新您的服务注册器 (Startup.cs) 并修改数据库上下文以将 SchemaBehavior 选项设置为以下选项之一:

// Throw an exception, if a schema is being used. This is the default.
options.UseMySql(myConnectionString, b => b.SchemaBehavior(MySqlSchemaBehavior.Throw))

// Silently ignore any schema definitions.
options.UseMySql(myConnectionString, b => b.SchemaBehavior(MySqlSchemaBehavior.Ignore))

// Use the specified translator delegate to translate from an input schema and object name to
// an output object name whenever a schema is being used.
options.UseMySql(myConnectionString, b => b.SchemaBehavior(MySqlSchemaBehavior.Translate,
    (schema, entity) => $"schema ?? "dbo"_entity"))

【讨论】:

以上是关于更新数据库:使用 mysql 的 asp.net core 错误的主要内容,如果未能解决你的问题,请参考以下文章

CSV 通过 ASP.NET 到 MySQL

ASP.NET开发实战——ASP.NET MVC 与数据库之MySQL

使用 ASP.net 监控数据库中的更新和删除

如何使用 POST 值更新我的数据表。 ASP.NET

如何使用 C# 在 ASP.NET 中使用 MySql 数据库 [重复]

使用 MYSQL 在 ASP.NET MVC 上创建数据库模型