A relational store has been configured without specifying either the DbConnection or connection stri 电脑版发表于:2022/5/23 11:35 abp vnext使用Mysql报错:在项目中使用了最新的mysql 相关的引入出现这样的错误: “A relational store has been configured without specifying either the DbConnection or connection string to use.” 解决方案 ** 在UseMysql上,要传递两个参数(connectionstring,ServerVersion) ![](https://img.tnblog.net/arcimg/aojiancc2/1bf090af3b804135bece89282ec9c600.png) 只传递一个参数虽然执行迁移命令不会报错,但是执行Update-Database就会报错了。 贴以下完整的代码: ``` /* This class is needed for EF Core console commands * (like Add-Migration and Update-Database commands) */ public class WyJBLandDbContextFactory : IDesignTimeDbContextFactory<WyJBLandDbContext> { public WyJBLandDbContext CreateDbContext(string[] args) { //BookStoreEfCoreEntityExtensionMappings.Configure(); var configuration = BuildConfiguration(); string conn = configuration.GetConnectionString("conn_mysql"); AddTestLog(conn); var builder = new DbContextOptionsBuilder<WyJBLandDbContext>() .UseMySql(conn,ServerVersion.AutoDetect(conn)); return new WyJBLandDbContext(builder.Options); } /// <summary> /// 记录一点内容用于测试 /// </summary> /// <param name="content"></param> public void AddTestLog(string content) { using (FileStream filestraem = new FileStream("d:/log.txt", FileMode.Append)) { using (StreamWriter write = new StreamWriter(filestraem)) { write.WriteLine(content); write.WriteLine("记录时间:" + DateTime.Now.ToString()); write.WriteLine("----------------------------------------"); write.Flush(); } } } private static IConfigurationRoot BuildConfiguration() { var builder = new ConfigurationBuilder() .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../WY.JBLand.API/")) .AddJsonFile("appsettings.json", optional: true); return builder.Build(); } } ```