Sto cercando di provare a creare un database SQLite utilizzando EF.Core. Nonostante tutti i miei sforzi per farlo funzionare, non funziona ancora come previsto e non so perché. Il comando Add-Migration funziona bene ma poi quando provo ad Update-DataBase genera System.NullReferenceException. Qualcuno ha un'idea del perché? Di seguito puoi vedere il codice e l'eccezione.
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> Update-DataBase Build iniziato ... Build riuscito. System.NullReferenceException: riferimento all'oggetto non impostato su un'istanza di un oggetto. at Microsoft.Data.Sqlite.SqliteConnection.Open () at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection (Boolean errorsExpected) at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open (Boolean errorsExtor.Cr. .SqliteDatabaseCreator.Exists () su Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists () su Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate (String targetMigration) su Microsoft.EntityFrameworkCore.esign.Frame.ErigazioneDateDateDateDateDateMot String contextType) in Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl (String targetMigration, String contextType) in Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase. <> C__DisplayClass0_0. .OperationBase.Execute (azione azione) Riferimento oggetto non impostato su un'istanza di un oggetto t. PM>
Sembra che si tratti di un problema con Microsoft.Data.Sqlite.Core. Ho appena aggiunto un riferimento a Microsoft.Data.Sqlite e tutto funziona proprio ora.
OBS !!!
C'è già un biglietto aperto su questo GitHub / EF / Issues