Как получить доступ к базе данных SQLite напрямую из DLL (без использования app.config)? - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь подключиться и использовать файл базы данных SQLite из DLL.До сих пор у меня было следующее

        ASSEMBLY_PATH = ReturnThisAssemblyPath();

        DB_PATH = ASSEMBLY_PATH + @"\Datastore\" + DB_FILENAME;
        try
        {
            DbProviderFactory fac = System.Data.SQLite.SQLiteFactory.Instance;

            var conn = fac.CreateConnection();

            conn.ConnectionString = "data source =" + DB_PATH + @"\SQLiteDatabase.db";
            using (var m = new ReportsContext(conn))
            {
                try
                {
                    m.Reports.Add(new Datastore.Report() { reportTypeId = "1", reportType = "HL7", originalString = "orig10", processedString = "mod10" });
                    m.SaveChanges();
                }
                catch (System.Exception ex)
                {

                }
                var res = m.Reports.Find(111);
            }

        }catch(System.Exception ex)
        {

        }

Я также пытался DbProviderFactory fac = System.Data.SQLite.EF6.SQLiteProviderFactory.Instance;

Но когда он пытался добавить запись, он терпел неудачу со следующей ошибкой

Не удалось определить имя поставщика для фабрики поставщиков типа «System.Data.SQLite.SQLiteFactory».Убедитесь, что поставщик ADO.NET установлен или зарегистрирован в конфигурации приложения.

1 Ответ

0 голосов
/ 09 февраля 2019
using (SQLiteConnection connection = new SQLiteConnection(string.Format("Data Source={0};Version=3;", <your_database_file_path>)))
{

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