Я думал, что sqlite был прост, но это доставляет мне трудности. Я просто хочу создать приложение, где я могу подключиться к базе данных sqlite, используя классы данных сущности ado.net.
У меня возникла эта проблема при тестировании приложения на виртуальной машине под управлением Windows XP. приложение отлично работает на моем текущем компьютере, а также на моем ноутбуке при их развертывании.
Вот что происходит на виртуальной машине:
- Приложение может запускаться.
- Приложение может взаимодействовать с базой данных, используя System.Data.SQLite
- Приложение не может подключиться к базе данных с помощью моделей данных ADO.NET Entity.
когда я пытаюсь подключиться, я получаю следующее исключение:
Я знаю, что есть много постов, в которых говорится об этом, и большинство из них говорят, что вам нужно скачать .NET-провайдера для Sqlite.
Я уже установил sqlite-netFx40-setup-bundle-x86-2010-1.0.79.0.exe и получаю ту же проблему. Что я должен делать?
редактировать
Мне удалось установить соединение, добавив:
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
в мой файл app.config.
Проблема в том, что теперь я не могу ни выбирать данные, ни вставлять записи в базу данных. Исключение, которое я получаю при попытке вставить новую запись:
После вызова метода GetService в экземпляре поставщика магазина типа "System.Data.SQLite.SQLiteFactory" было возвращено значение NULL. Поставщик магазина может работать неправильно.