Simple.Sqlite 0.5.100

There is a newer version of this package available.
See the version list below for details.
dotnet add package Simple.Sqlite --version 0.5.100
NuGet\Install-Package Simple.Sqlite -Version 0.5.100
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Simple.Sqlite" Version="0.5.100" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Simple.Sqlite --version 0.5.100
#r "nuget: Simple.Sqlite, 0.5.100"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Simple.Sqlite as a Cake Addin
#addin nuget:?package=Simple.Sqlite&version=0.5.100

// Install Simple.Sqlite as a Cake Tool
#tool nuget:?package=Simple.Sqlite&version=0.5.100

.NET Core NuGet

SqliteWrapper

A very simple Sqlite wrapper to plug spiders with it

Modules and Options

There are three modules in this package

  • SqliteDB → Sqlite wrapper
  • No-sql document storage
  • Configuration storage

How to get started:

Install the NuGet package: Install-Package Simple.Sqlite

Look at the examples int the project Test and the Samples folder

Or follow any of examples bellow

SqliteDB - Sqlite wrapper

Sqlite database to store data in tables

How to use:

// Create a new instance
SqliteDB db = new SqliteDB("myStuff.db");

// Create a DB Schema
db.CreateTables()
  .Add<MyData>()
  .Commit();

var d = new MyData()
{
    //fill your object
};
// call INSERT
db.Insert(d);

// use GetAll to retrieve all data
var allData = db.GetAll<MyData>();
// Use queries to get back data
var allBobs = db.ExecuteQuery<MyData>("SELECT * FROM MyData WHERE MyName = @name ", new { name = "bob" });

What this module automates ?

Auto fill parameters

This library provides a Query operation similar to Dapper, it can return a query as an Enumerable of your class

var allData = db.GetAll<MyData>();

And supports objects (even anonymous) as parameters

var allBobs = db.ExecuteQuery<MyData>("SELECT * FROM MyData WHERE MyName = @name ", new { name = "bob" });

Also, it supports easy Insertion

var d = new MyData()
{
    //fill your object
};
// call INSERT
db.Insert(d);

And a VERY efficient, transaction based BulkInsertion

MyData[] lotsOfData = getLotsOfData();

// call INSERT
db.BulkInsert(lotsOfData);

Tip: For multi-million insertion, 5k blocks are a good start point

Migration

This library has a very simple Migration tah can:

  • Create new tables
  • Add columns to existing tables

To update your db schema just call CreateTables() and add your classes with Add<T> and then Commit()

// Create a new instance
SqliteDB db = new SqliteDB("myStuff.db");

// Create a DB Schema
 var migrationResult = db.CreateTables()
                         .Add<MyData>()
                         .Commit();

A TableCommitResult will be returned with all changes made

This command will not migrate DATA only the schema

You can make changes on the table definition before it commits with:

db.CreateTables()
  .Add<MyData>()
  .ConfigureTable(t => { /* change last added table here */ })
  .Add<NextTable>()
  .Commit();

NoSqliteStorage - No-sql document storage

Need a fast to setup, no-installation no-sql database ? This module get you covered

Your data will be stored encoded (serialized) with BSON

How to use:

// create a new instance
NoSqliteStorage db = new NoSqliteStorage("myStuff.db");
// build your complex type
MyData d = new MyData()
{
    MyId = (int)DateTimeOffset.Now.ToUnixTimeSeconds(),
    MyName = "My name is bob",
    MyBirthDate = DateTime.Now,
    MyUID = Guid.NewGuid(),
    MyWebsite = new Uri("http://example.com"),
    MyDecimalValue = 123.4M,
    MyDoubleValue = 456.7,
    MyFloatValue = 789.3f,
    MyEnum = MyData.eIntEnum.Zero,
};
// Store it serialized with BSON
db.Store(d.MyUID, d);
// simple call Retrieve<T> to get your data deserialized back
var d2 = db.Retrieve<MyData>(id);

What this module automates ?

No-install, ready to use no-sql database

  • No tables
  • No migration
  • no-nothing 'relational'

ConfigurationDB - Configuration storage

Need to store some options or user settings ? This module will cover that

How to use:

// Create a new instance
ConfigurationDB db = new ConfigurationDB("myStuff.db");

// store your data with Key-Category pair
db.SetConfig<string>("Font", "User.UI.FrontPanel", "Arial");
db.SetConfig<Color>("BackColor", "User.UI.FrontPanel", Color.Red);

// retrieve your data with "default option"
var myFont = db.GetConfig<string>("Font", "User.UI.FrontPanel", "Times");
var myBkg  = db.GetConfig<Color>("BackColor", "User.UI.FrontPanel", Color.Green);

// remove config
db.RemoveConfig("Font", "User.UI.FrontPanel");

What this module automates ?

This automates various configuration save-set scenarios

Natively supported types:

  • All C# "primitive" types
  • string
  • decimal
  • DateTime
  • TimeSpan
  • Guid
  • byte[]
  • System.Drawing.Color

Primitive types is all types that type.IsPrimitive == true. Is all types you expect to be primitives: int, float, double, byte, etc...

Check all on this MSDN article

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Simple.Sqlite:

Package Downloads
RafaelEstevam.Simple.Spider.SqliteStorage

Sqlite-based storage engine to the SimpleSpider See examples and documentation on the GitHub page

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.0 104 3/26/2024
1.1.0 99 1/22/2024
1.0.6 165 11/28/2023
1.0.5 394 8/26/2023
1.0.4 385 6/23/2023
1.0.3 149 5/21/2023
1.0.2 241 3/9/2023
1.0.1 287 1/27/2023
1.0.0.4-rc 122 12/20/2022
1.0.0.3-rc 119 11/23/2022
1.0.0.2-rc 167 11/23/2022
1.0.0.1-rc 121 11/16/2022
0.9.1.3 362 11/23/2022
0.9.1.2 346 11/23/2022
0.9.1.1 337 11/2/2022
0.9.1 402 8/6/2022
0.9.0.1 417 7/29/2022
0.8.5.4 538 2/14/2022
0.8.5.3 407 2/8/2022
0.8.5.2 432 1/23/2022
0.8.5.1 270 1/8/2022
0.8.5 289 1/1/2022
0.8.4.1 267 12/31/2021
0.8.4 1,030 11/20/2021
0.8.3 746 11/7/2021
0.8.2-alpha 269 10/8/2021
0.8.1-alpha 215 8/18/2021
0.8.0-alpha 375 8/11/2021
0.7.4.1 384 10/15/2021
0.7.4 383 10/8/2021
0.7.4-alpha 221 8/8/2021
0.7.3 405 8/3/2021
0.7.2 508 7/25/2021
0.6.4 503 5/3/2021
0.6.3 407 5/1/2021
0.6.2 367 4/27/2021
0.6.1 480 3/27/2021
0.5.118 422 3/14/2021
0.5.100 534 1/24/2021
0.4.94 328 1/23/2021
0.4.93 377 1/23/2021
0.4.90 410 1/21/2021
0.4.79 522 1/15/2021
0.4.68 459 1/6/2021
0.4.63 617 12/30/2020
0.4.43 649 12/21/2020
0.4.29 532 12/19/2020
0.4.24 686 12/19/2020
0.4.21 797 12/19/2020
0.1.1 459 11/5/2020
0.1.0 524 11/5/2020