using System; using System.Collections.Generic; using ServiceStack; using ServiceStack.Text; using ServiceStack.OrmLite; using ServiceStack.OrmLite.Sqlite; using ServiceStack.DataAnnotations; public class User { public long Id { get; set; } [Index] public string Name { get; set; } public DateTime CreatedDate { get; set; } public override string ToString() => Name; } var dbFactory = new OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider); var db = dbFactory.Open(); //Open ADO.NET DB Connection db.DropAndCreateTable(); //DROP (if exist) and CREATE Table from User POCO db.Insert( //INSERT multiple Users by params new User { Id = 1, Name = "A", CreatedDate = DateTime.Now }, new User { Id = 2, Name = "B", CreatedDate = DateTime.Now }, new User { Id = 3, Name = "C", CreatedDate = DateTime.Now }, new User { Id = 4, Name = "C", CreatedDate = DateTime.Now }); var rowsC = db.Select(x => x.Name == "C"); //SELECT by typed expression "No of 'C' Rows: {0}, Ids:".Print(rowsC.Count); //= 2 rowsC.ConvertAll(x => x.Id).PrintDump(); //= 3,4 db.Delete(x => x.Name == "C"); //DELETE by typed expression var remainingC = db.Select("Name= @name", new { name="C" }); //Custom SQL "No of 'C' Rows: {0}".Print(remainingC.Count); //= 0 var rowsLeft = db.Select(); "Rows Left: {0}".Print(rowsLeft.Count); //= 2 rowsLeft.PrintDump(); //= A,B