。Net EntityFramework Core-SQLite错误1:没有这样的表

问题描述 投票:0回答:1

我遇到了一个问题,该代码无法找到我的现有Sqlite数据库,该数据库与调用它的此代码位于同一文件夹中。我得到的错误是“ SQLite错误1表不存在”。我知道该表存在,它只是无法找到路径。我究竟做错了什么?

注意:我不是先创建代码的Sqlite数据库。这将打开一个现有的Sqlite数据库

数据库上下文代码

using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyWidget.Domain.Data
{
    public static class MyWidgetService
    {
        public static void GetAll()
        {            

            using var context = new MyWidgetContext();
            if (context.Translations.Any())
            {
                var data = context.Widgets.ToList(); 
                foreach (var widget in data)
                {
                    Console.WriteLine(widget.ProductName);
                }
            }
            else
            {
                Console.WriteLine("No widgets found");
            }
        }
    }
}

**数据库服务代码

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using Microsoft.EntityFrameworkCore;

namespace MyWidget.Domain.Data
{
    public class MyWidgetContext : DbContext
    {
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlite(connectionString: "Filename=./MyWidgetDB.db");
        }

        public DbSet<WidgetData> Widgets { get; set; }
    }

    public class WidgetData
    {
        public int Id { get; set; }
        public string ProductName { get; set; }

    }
}
sqlite file .net-core entity-framework-core dbcontext
1个回答
0
投票

我决定去另一个方向,并使用Dapper和System.Data.Sqlite.Core。蒂姆·科里(Tim Corey)的这段视频完美地解释了如何实施:]

https://www.youtube.com/watch?v=ayp3tHEkRc0

此方法非常有效,正在我的GitHub项目中使用它:

https://github.com/encouragingapps/Blender3DReference

© www.soinside.com 2019 - 2024. All rights reserved.