Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要从SQLite数据库读取和写入Windows服务项目,我需要什么配置?_Sqlite_Service_Entity Framework Core - Fatal编程技术网

要从SQLite数据库读取和写入Windows服务项目,我需要什么配置?

要从SQLite数据库读取和写入Windows服务项目,我需要什么配置?,sqlite,service,entity-framework-core,Sqlite,Service,Entity Framework Core,我以前有一个正在工作的控制台应用程序项目,它将读取和写入本地SQLite数据库文件的设置 基于这个项目,我通过在类上移植并使用ServiceBase类创建服务,将其转换为windows服务项目。 但是,每次运行该服务时,我都会收到一个SqliteException,并显示消息SQLite错误1:“没有这样的表:设置”。 使用SQLite的DB Browser,我确实看到了数据库文件中的表,所以我不确定发生了什么 我尝试过使用Windows服务使用我自己的帐户进行测试,我尝试过让本地系统访问我的构

我以前有一个正在工作的控制台应用程序项目,它将读取和写入本地SQLite数据库文件的设置

基于这个项目,我通过在类上移植并使用ServiceBase类创建服务,将其转换为windows服务项目。 但是,每次运行该服务时,我都会收到一个
SqliteException
,并显示消息
SQLite错误1:“没有这样的表:设置”。

使用SQLite的DB Browser,我确实看到了数据库文件中的表,所以我不确定发生了什么

我尝试过使用Windows服务使用我自己的帐户进行测试,我尝试过让本地系统访问我的构建文件夹进行测试

我不确定这是否有帮助,但我还包括了DbContext文件的一部分:

public class CDIContext : DbContext
{
    public DbSet<Setting> Settings { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder options)
    {
        options.UseSqlite("Data Source=ApplicationData.db");
    }
}

public class Setting
{
    [Key]
    public Int32 Id { get; set; }
    [Required]
    public Int64 LastUpdateEpochUTC { get; set; }
}
公共类CDIContext:DbContext { 公共数据库集设置{get;set;} 配置时受保护的覆盖无效(DbContextOptionsBuilder选项) { options.UseSqlite(“数据源=ApplicationData.db”); } } 公共班级设置 { [关键] 公共Int32 Id{get;set;} [必需] public Int64 lastUpdateAppOchUTC{get;set;} }
发现Windows服务工作目录位于:
C:\Windows\System32
C:\Windows\SysWOW64
而不是我的应用程序目录

因此,我的数据库文件是在这些目录中而不是在应用程序目录中搜索的


将接受@ErikEJ建议并更改为完整路径。

使用数据库文件的完整路径