EF核心更新数据库抛出System.NullReferenceException

时间:2019-12-05 00:44:15

标签: sqlite entity-framework-core

我正在尝试使用EF.Core测试制作SQLite数据库。尽管我竭尽全力使其正常运行,但仍无法按预期运行,我也不知道为什么。 Add-Migration命令工作正常,但是当我尝试更新数据库时,它将引发System.NullReferenceException。有人知道为什么吗?在下面,您可以看到代码和异常。

public class TestModel
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        public string Name { get; set; }
    }
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);
        }
  

PM>更新数据库   构建开始...   构建成功。   System.NullReferenceException:对象引用未设置为对象的实例。      在Microsoft.Data.Sqlite.SqliteConnection.Open()      在Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(预期的布尔错误)      在Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(布尔错误期望)      在Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteDatabaseCreator.Exists()      在Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()      在Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)      在Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration,String 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操作)   你调用的对象是空的。   PM>

1 个答案:

答案 0 :(得分:1)

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

OBS !!!

已经有关于此GitHub/EF/Issues

的公开门票