Я делал это раньше в C ++, включая sqlite.h, но есть ли такой же простой способ в C #?
Поставщик ADO.NET 2.0 для SQLite имеет более 200 загрузок в день, поэтому я думаю, что вы можете использовать его.
Список упаковщиков Sqlite для .Net можно найти по адресу http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers . Из того, что я слышал, http://sqlite.phxsoftware.com/ довольно хорошо. Этот конкретный позволяет вам получить доступ к Sqlite через ADO.Net, как и любая другая база данных.
Я использовал это с большим успехом:
http://system.data.sqlite.org/
Бесплатно без ограничений.
(Примечание из обзора: Оригинальный сайт больше не существует. Приведенная выше ссылка имеет ссылку на сайт 404 и содержит всю информацию оригинала)
--Bruce
Также теперь есть эта опция: http://code.google.com/p/csharp-sqlite/ - полный порт SQLite для C #.
Я с Брюсом. Я использую 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 .
Mono поставляется с оберткой, используйте их!
https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0 дает код для переноса действительной библиотеки SQLite ( http: //www.sqlite. org / sqlite-shell-win32-x86-3071300.zip можно найти на странице загрузки ( http://www.sqlite.org/download.html/ ) в формате .net. Работает на Linux или Windows.
Это кажется самым тонким из всех миров, сводя к минимуму вашу зависимость от сторонних библиотек. Если бы мне пришлось делать этот проект с нуля, я бы так и сделал.
Другой способ использования базы данных SQLite в NET Framework - использование Fluent-NHibernate .
[Это NET-модуль, который охватывает NHibernate (модуль ORM - Object Relational Mapping) и позволяет программно настраивать NHibernate (без файлов XML) с плавным шаблоном.]
Вот краткое описание «Как начать», как сделать это в C # шаг за шагом:
https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started
Он включает исходный код в виде проекта Visual Studio.
https://github.com/praeclarum/sqlite-net теперь, вероятно, лучший вариант.