Хийя,
В настоящее время мы работаем над проектом, в котором нам нужно локально хранить данные (данные конфигурации, в частности), и полагал, что Sqlite является неплохим решением на данный момент.
Однако после настройки DBContext, Entities и прочего, создания миграции и запуска Update-Database
для создания базы данных (и подтверждения с помощью DB Browser for SQLite
, что она «правильно» создала ее), мы встречаемся с «Такой таблицей не найдено» ошибка.
DataService.cs
private SettingsModel GetConfig()
{
using(var _context = new DataContext())
{
var query = (from a in _context.SettingsModel
select a);
var obj = query.FirstOrDefault();
if (string.IsNullOrWhiteSpace(obj.ExpressionString))
obj.ExpressionString = DEFAULT_EXPRESSION_STRING;
return obj;
}
}
DbContext.cs
public class DataContext : DbContext
{
public virtual DbSet<SettingsModel> SettingsModel { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlite("Data source=keyconfig.db");
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<SettingsModel>(entity =>
{
entity.HasNoKey();
entity.Property(e => e.ExpressionString)
.IsUnicode(false);
});
}
}
SettingsModel.cs
public class SettingsModel
{
public string ExpressionString { get; set; }
}
Я, честно говоря, довольно глуп, почему это не работает (или почему у нас возникла проблема), особенно после подтверждения базы данных и ее таблиц существует , так что любая помощь будет полезна!