执行 DbCommand 失败 (3ms) [Parameters=[], CommandType='Text'

问题描述

我正在尝试在我的 .Net core console app 和我的本地 MysqL 中使用模型创建迁移,使用 entity framework core Code first 方法一切都很好,但是在创建迁移并尝试使用之后update-database 我在 NugetPackage Console

中遇到此错误

模型:

分支

class Branche
{
    [Key]
    public string ID { get; set; }
    [required]
    public string Title { get; set; }

    public ICollection<Student> Students { get; set; }
}

学生

class Student
{
    [Key]
    public string ID { get;        set; }
    public string Name      { get; set; }
    public string BrancheID { get; set; }

    public Branche Branche { get; set; }
}

数据库上下文:

class SchoolContext:DbContext
{
    public SchoolContext()
    {
        
    } 
    public SchoolContext(DbContextOptions<SchoolContext> dbContextOptions):base(dbContextOptions)
    {
        
    }


    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {

        // Map entities to tables
        modelBuilder.Entity<Branche>().ToTable("Branche");
        modelBuilder.Entity<Student>().ToTable("Student");

        // Configure Primary Keys  
        modelBuilder.Entity<Branche>().HasKey(b => b.ID).HasName("PK_Branche");
        modelBuilder.Entity<Student>().HasKey(s => s.ID).HasName("PK_Student");

        //Configure Relations
        modelBuilder.Entity<Student>().HasOne<Branche>().WithMany().HasPrincipalKey(b => b.ID)
                    .HasForeignKey(s => s.BrancheID).OnDelete(DeleteBehavior.NoAction)
                    .HasConstraintName("FK_Student_Branche");
    }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {

        IConfiguration configuration = new ConfigurationBuilder()
                                      .SetBasePath(Directory.GetParent(AppContext.BaseDirectory).FullName)
                                      .AddJsonFile("appsettings.json",false).Build();

        optionsBuilder.UseMysqL(configuration.GetConnectionString("MysqL"),ServerVersion.AutoDetect(configuration.GetConnectionString("MysqL")));
    }

    public DbSet<Branche> Branches { get; set; }
    public DbSet<Student> Students { get; set; }
}

错误

Failed executing DbCommand (3ms) [Parameters=[],CommandType='Text',CommandTimeout='30']
CREATE TABLE `Branches` (
    `ID` nvarchar(450) NOT NULL,`Title` nvarchar(max) NOT NULL,CONSTRAINT `PK_Branches` PRIMARY KEY (`ID`)
);

Screen

我使用 Pomelo.EntityFrameworkCore.MySql 5.0.0-alpha.2

请问有什么关于这个问题的帮助吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...