Я сделал это раньше в С++, включив sqlite.h, но есть ли такой же простой способ в С#?
Каков наилучший способ подключения и использования базы данных sqlite из С#
Ответ 1
Поставщик ADO.NET 2.0 для SQLite имеет более 200 загрузок каждый день, поэтому я думаю, что вы можете безопасно использовать этот.
Ответ 2
Я с Брюсом. Я использую http://system.data.sqlite.org/ с большим успехом. Вот простой пример класса, который я создал:
using System;
using System.Text;
using System.Data;
using System.Data.SQLite;
namespace MySqlLite
{
      class DataClass
      {
        private SQLiteConnection sqlite;
        public DataClass()
        {
              //This part killed me in the beginning.  I was specifying "DataSource"
              //instead of "Data Source"
              sqlite = new SQLiteConnection("Data Source=/path/to/file.db");
        }
        public DataTable selectQuery(string query)
        {
              SQLiteDataAdapter ad;
              DataTable dt = new DataTable();
              try
              {
                    SQLiteCommand cmd;
                    sqlite.Open();  //Initiate connection to the db
                    cmd = sqlite.CreateCommand();
                    cmd.CommandText = query;  //set the passed query
                    ad = new SQLiteDataAdapter(cmd);
                    ad.Fill(dt); //fill the datasource
              }
              catch(SQLiteException ex)
              {
                    //Add your exception code here.
              }
              sqlite.Close();
              return dt;
  }
}
Существует также пакет NuGet: доступный System.Data.SQLite.
Ответ 3
Я использовал это с большим успехом:
http://system.data.sqlite.org/
Бесплатно без ограничений.
(Примечание от обзора: Исходный сайт больше не существует. В приведенной выше ссылке есть ссылка, указывающая сайт 404 и имеющая всю информацию об оригинале)
- Брюс
Ответ 4
Существует список оболочек Sqlite для .Net в http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers. Из того, что я слышал, http://sqlite.phxsoftware.com/ неплохо. Этот конкретный позволяет вам получить доступ к Sqlite через ADO.Net, как и к любой другой базе данных.
Ответ 5
Здесь также есть эта опция: http://code.google.com/p/csharp-sqlite/ - полный порт SQLite на С#.
Ответ 6
https://github.com/praeclarum/sqlite-net теперь, вероятно, лучший вариант.
Ответ 7
Другим способом использования базы данных SQLite в .NET Framework является использование  Fluent-NHibernate. 
[Это модуль NET, который обертывает NHibernate (модуль ORM - реляционное сопоставление объектов) и позволяет программировать NHibernate программно (без файлов XML) с плавным шаблоном.]
Вот краткое описание "Начало работы", как это сделать на С# шаг за шагом:
https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started
Он включает исходный код в качестве проекта Visual Studio.
Ответ 8
Моно поставляется с оберткой, используя их!
https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 дает код для обертывания фактической dll SQLite (http://www.sqlite.org/sqlite-shell-win32-x86-3071300.zip, найденный на странице загрузки http://www.sqlite.org/download.html/) дружественным способом .net. Он работает в Linux или Windows.
Это кажется самым тонким из всех миров, сводящим к минимуму вашу зависимость от сторонних библиотек. Если бы мне пришлось делать этот проект с нуля, я бы это сделал.
