I've ported my test app from EF 6.2 (.NET 4.0) to EF 6.3 preview 9(.NET Core 3 preview 9).
My app is a library so it has no config file and I have to add data provider programmatically.
Instead of previously used:
Code: Select all
var dataTable = (ConfigurationManager.GetSection("system.data") as System.Data.DataSet).Tables[0];
//if DbProviderFactory with the same name already exists in system - need to delete it first
foreach (DataRow row in dataTable.Rows)
if (row[2].Equals(SQLiteConnectionInfo.InvariantName))
{
row.Delete();
row.AcceptChanges();
break;
}
//add Data Provider
dataTable.Rows.Add("dotConnect for SQLite",
"dotConnect for SQLite",
SQLiteConnectionInfo.InvariantName,
"Devart.Data.SQLite.SQLiteProviderFactory, Devart.Data.SQLite, Culture=neutral, PublicKeyToken=09af7300eec23701");
now I'm using:
Code: Select all
DbProviderFactories.RegisterFactory(SQLiteConnectionInfo.InvariantName, new SQLiteProviderFactory());
But on the line
Code: Select all
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDbContext, MyDbContextMigrationConfiguration>());
I get an error:
System.TypeInitializationException: FileNotFoundException Could not load file or assembly 'System.Configuration.ConfigurationManager, Version 4.0.2.0'
I've added a reference to the latest version (4.700.19.42104) of System.Configuration.ConfigurationManager.dll - but nothing changed.
I've uploaded my test app
here