. Net EntityFramework Core - SQLite Ошибка 1: такой таблицы нет - PullRequest
0 голосов
/ 05 апреля 2020

Я столкнулся с проблемой, когда код не может найти мою существующую базу данных 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; }

    }
}

1 Ответ

0 голосов
/ 12 апреля 2020

Я решил go в другом направлении и использовать Dapper и System.Data.Sqlite.Core. Это видео Тима Кори прекрасно объясняет, как его реализовать:

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

Эта методология работает очень хорошо, и я использую ее в своем проекте GitHub:

https://github.com/encouragingapps/Blender3DReference

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...