Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active November 10, 2020 13:34
Show Gist options
  • Save gistlyn/c0814f297f98fad330758e8fc755a345 to your computer and use it in GitHub Desktop.
Save gistlyn/c0814f297f98fad330758e8fc755a345 to your computer and use it in GitHub Desktop.
Insert partial records
using System;
using System.Linq;
using System.Collections.Generic;
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; }
[Default(5)]
public int Rating { get; set; }
public override string ToString() => Name;
}
db.CreateTable<Track>();
//Using lambda expression
db.InsertOnly(() => new Track { Name = "State of Love and Trust", Album = "Singles" });
//Using explicit fields
db.InsertOnly(new Track { Name = "I Got ID", Album = "Merkin Ball" }, x => new { x.Name, x.Album });
var tracks = db.Select<Track>();
$"Partially Inserted Tracks: {tracks.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