Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active November 10, 2020 13:34
Show Gist options
  • Save gistlyn/90c2dac71a22ece5b62660659b09cf98 to your computer and use it in GitHub Desktop.
Save gistlyn/90c2dac71a22ece5b62660659b09cf98 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: {autoId}".Print();
var track = db.SingleById<Track>(autoId);
$"Track: {track.Dump()}".Print();
var savedTrack = new Track { Name = "Ashes to Ashes", Album = "Album of the Year", Year = 1997 };
db.Save(savedTrack);
$"Saved AutoIncrement Id: {savedTrack.Id}".Print();
$"Saved Track: {savedTrack.Dump()}".Print();
<?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