Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active November 10, 2020 13:31
Show Gist options
  • Select an option

  • Save gistlyn/0cd558e817f28f77b974c44c3e12ff6f to your computer and use it in GitHub Desktop.

Select an option

Save gistlyn/0cd558e817f28f77b974c44c3e12ff6f to your computer and use it in GitHub Desktop.
OrmLite Todo demo
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(); // Open ADO.NET DB Connection
public class Todo
{
[AutoIncrement]
public long Id { get; set; }
public string Content { get; set; }
public int Order { get; set; }
public bool Done { get; set; }
}
db.CreateTable<Todo>();
var newTodo = new Todo {
Content = "Learn OrmLite",
Order = 1
};
db.Save(newTodo);
var savedTodo = db.SingleById<Todo>(newTodo.Id);
"Saved Todo: {0}".Print(savedTodo.Dump());
savedTodo.Done = true;
db.Update(savedTodo);
var updatedTodo = db.SingleById<Todo>(newTodo.Id);
"Updated Todo: {0}".Print(updatedTodo.Dump());
db.DeleteById<Todo>(newTodo.Id);
var remainingTodos = db.Select<Todo>();
"No more Todos: {0}".Print(remainingTodos.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