Sqlite is a cool and light embed database engine, and it's compact to SQL-92. Only one DLL for handling everything, in other words, the engine is a single DLL. All data in one database has been stored in one data file, and the database is very fast, very scalable (the size of maximum of the data files that it supports is 2TB), and multi-user supporting.
why don't I use ADO or Dataset? Microsoft has provide two good ideal, but there are slow and less scalable. And more, ADO is hard to use.
There is another embed database which called "Firebird", I have used it in some projects, but I finally abandoned it when I adopted Sqlite, because there are two many files must be included into a project (You may notice that I am using the word "include" but not "reference", it means the files supporting Firebird must be resources in a project rather than references. It is very bad that you have to take care of a few ugly file that you even don't know the use.) Until recently, Firebird version 1.5.1 has six files must to be included and version 2.0 has eleven files.
I recommend you to use System.Data.Sqlite to handle the Sqlite database in .Net. You can download the up-to-date version from source-forge: http://sourceforge.net/project/showfiles.php?group_id=132486&package_id=145568, and the mainly web site is: http://sqlite.phxsoftware.com/. You also can get the source code from Source Forge, I have learn a lot from this source code, I have developed a expression parser which ported almost all of the Sqlite SQL parser code into Java,and the parser had been used in SQL Report version 3 (Codename : ERIS, I have wrote a few articles for this project. ).
Somebody introduce me the Sqlite wrapper that resides in PHPGURU, it is not good enough because lacking of supporting the standard access pattern, it means, if you trend to use this library, you should be in a hard time when you want to change the DBMS. Anyway, you can download this library from here: http://www.phpguru.org/downloads/csharp/SQLite.NET/.
PS: I was confused with the listed files in this site before I downloaded, the following screenshot describes why. In this site the newer version "2.0.1" was generated in Y2005 but the older version "1.0.0" was generated in Y2008, is it my fault?
In fact, the newer file is the engine, and another is a test client. Thus it is enough for developing that only downloading the first file (Version 1.0.0, but not version 2.0.1).