EF Core 更新数据库抛出 System.NullReferenceException

Dre*_*Net 2 sqlite entity-framework-core

我正在尝试使用 EF.Core 测试制作 SQLite 数据库。尽管我努力让它工作,但它仍然没有按预期工作,我不知道为什么。Add-Migration 命令工作正常,但是当我尝试 Update-DataBase 时它抛出 System.NullReferenceException。任何人都知道为什么会这样?您可以在下面看到代码和异常。

public class TestModel
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        public string Name { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)
private const string ConnectionString = "Data Source = AutoHome.db";

        public DbSet<TestModel> testModels { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder options)
        {
            options.UseSqlite(ConnectionString);
            base.OnConfiguring(options);
        }
Run Code Online (Sandbox Code Playgroud)

PM> 更新-数据库构建开始...构建成功。System.NullReferenceException:未将对象引用设置为对象的实例。在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected) 在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected) 在 Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal 的 Microsoft.Data.Sqlite.SqliteConnection.Open() .SqliteDatabaseCreator.Exists() 在 Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists() 在 Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) 在 Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration)字符串 contextType) 在 Microsoft.EntityFrameworkCore.Design。OperationExecutor.UpdateDatabaseImpl(String targetMigration, String contextType) 在 Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_0.<.ctor>b__0() 在 Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) 对象参考未设置为对象的实例。下午>

Dre*_*Net 12

似乎是 Microsoft.Data.Sqlite.Core 的问题。我刚刚添加了一个参考 Microsoft.Data.Sqlite,现在一切正常。

OBS!!!

已经有一个关于这个GitHub/EF/Issues的公开票