在MySQL上应用EF核心迁移时引发MySqlException
我目前正在开发一个新的.NETCore3.0Web应用程序,它依赖于MySQL 8.0DB。创建第一次迁移时,不可为空的日期列按以下方式设置:在MySQL上应用EF核心迁移时引发MySqlException,mysql,.net,entity-framework,.net-core,.net-core-3.0,Mysql,.net,Entity Framework,.net Core,.net Core 3.0,我目前正在开发一个新的.NETCore3.0Web应用程序,它依赖于MySQL 8.0DB。创建第一次迁移时,不可为空的日期列按以下方式设置: CreationDateTime = table.Column<DateTime>(nullable: false, defaultValueSql: "GETDATE()"), LastModDateTime = table.Column<DateTime>(nullable: false, defaultValueSq
CreationDateTime = table.Column<DateTime>(nullable: false, defaultValueSql: "GETDATE()"),
LastModDateTime = table.Column<DateTime>(nullable: false, defaultValueSql: "GETDATE()"),
CreationDateTime=table.Column(可空:false,defaultValueSql:“GETDATE()”),
LastModDateTime=table.Column(可空:false,defaultValueSql:“GETDATE()”),
这对于SQLServer来说是可以的,但是当迁移应用到MySql时会导致异常,因为MySql中不存在GetDate()函数。我希望我的迁移符合MySql。提前谢谢
在我的Startup类中,我就是这样配置db上下文的
services.AddDbContext<ZeroContext>(options => options.UseMySql(conStr, mySqlOptions => mySqlOptions.ServerVersion(new ServerVersion(new Version(8, 0, 18), ServerType.MySql))));
services.AddDbContext(options=>options.UseMySql(conStr,mySqlOptions=>mySqlOptions.ServerVersion(新服务器版本(新版本(8,0,18),ServerType.MySql)));
您使用的MySql EF提供程序是什么?官员、柚子等?看起来在创建迁移时使用了错误的提供程序。我使用的是Pomelo。我不知道如何使用错误的提供者,因为我的项目中只安装了pomelo。以前使用过Microsoft.EntityFrameworkCore.SqlServer,但我已将其删除。此外,正如在第二个代码片段中所报告的,在添加DbContext时使用UseMySql。在您的OnModelCreating
中是否有自定义设置?还有-这可能只是柚子的缺陷?