Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active November 10, 2020 13:34
Show Gist options
  • Save gistlyn/cd34f47a6314ebff1a3673c7e16cd60f to your computer and use it in GitHub Desktop.
Save gistlyn/cd34f47a6314ebff1a3673c7e16cd60f to your computer and use it in GitHub Desktop.
Insert records with AutoIncrement Ids
using System;
using ServiceStack;
using ServiceStack.Text;
using ServiceStack.OrmLite;
using ServiceStack.OrmLite.Sqlite;
using ServiceStack.DataAnnotations;
var dbFactory = new OrmLiteConnectionFactory(":memory:", SqliteDialect.Provider);
var db = dbFactory.Open();
public class Track
{
[AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
public string Album { get; set; }
public int Year { get; set; }
public override string ToString() => Name;
}
db.CreateTable<Track>();
var autoId = db.Insert(new Track { Name = "Everythings Ruined", Album = "Angel Dust", Year = 1992 });
"AutoIncrement Id: {0}".Print(autoId);
var track = db.SingleById<Track>(autoId);
"Track: {0}".Print(track.Dump());
var savedTrack = new Track { Name = "Ashes to Ashes", Album = "Album of the Year", Year = 1997 };
db.Save(savedTrack);
"Saved AutoIncrement Id: {0}".Print(savedTrack.Id);
"Saved Track: {0}".Print(savedTrack.Dump());
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="System.Memory" version="4.5.4" targetFramework="net45" />
<package id="ServiceStack.Text" version="5.10.0" targetFramework="net45" />
<package id="ServiceStack.Client" version="5.10.0" targetFramework="net45" />
<package id="ServiceStack.Common" version="5.10.0" targetFramework="net45" />
<package id="ServiceStack.Interfaces" version="5.10.0" targetFramework="net45" />
<package id="ServiceStack.OrmLite" version="5.10.0" targetFramework="net45" />
<package id="ServiceStack.OrmLite.Sqlite.Windows" version="5.10.0" targetFramework="net45" />
</packages>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment