System.Exception: «Вам необходимо вызвать SQLitePCL.raw.SetProvider(). Если
вы используете пакетный пакет, это делается путем вызова
SQLitePCL.Batteries.Init().'
Я создал простое консольное приложение, в котором без проблем запускается тот же код, что и при создании. Код выглядит так!
Код: Выделить всё
using (var dataContext = new SampleDBContext())
{
dataContext.Accounts.Add(new Account() { AccountName = name, AccountBalance = balance });
}
public class SampleDBContext : DbContext
{
private static bool _created = false;
public SampleDBContext()
{
if (!_created)
{
_created = true;
Database.EnsureDeleted();
Database.EnsureCreated();
}
}
protected override void OnConfiguring(DbContextOptionsBuilder optionbuilder)
{
optionbuilder.UseSqlite(@"Data Source="Source folder"\Database.db");
}
public DbSet Accounts { get; set; }
}
Спасибо.
Изменить
Моя программа в настоящее время состоит из консольного приложения, которое ссылается на библиотеку классов .Net Framework. Консольное приложение имеет конструктор, который выглядит следующим образом:
Код: Выделить всё
public Program()
{
using (var db = new FinancialContext())
{
db.Accounts.Add(new Account() { AccountName = "RBS", AccountBalance=20 });
}
}
Код: Выделить всё
public class FinancialContext : DbContext
{
public DbSet Accounts { get; set; }
public FinancialContext()
{
# Database.EnsureDeleted();
Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionbuilder)
{
optionbuilder.UseSqlite(@"Data Source="Some Source Folder"\Database.db");
}
}
Подробнее здесь: https://stackoverflow.com/questions/507 ... eries-init
Мобильная версия