-
-
Save yuxinliu-alex/fd18d38802c3dcf08a4e60fb6e85621b to your computer and use it in GitHub Desktop.
Simple OrmLite CRUD demo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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<User>(); //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<User>(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<User>(x => x.Name == "C"); //DELETE by typed expression | |
| var remainingC = db.Select<User>("Name= @name", new { name="C" }); //Custom SQL | |
| "No of 'C' Rows: {0}".Print(remainingC.Count); //= 0 | |
| var rowsLeft = db.Select<User>(); | |
| "Rows Left: {0}".Print(rowsLeft.Count); //= 2 | |
| rowsLeft.PrintDump(); //= A,B |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?xml version="1.0" encoding="utf-8"?> | |
| <packages> | |
| <package id="ServiceStack.Text" version="4.5.0" targetFramework="net45" /> | |
| <package id="ServiceStack.Interfaces" version="4.5.0" targetFramework="net45" /> | |
| <package id="ServiceStack.Common" version="4.5.0" targetFramework="net45" /> | |
| <package id="ServiceStack.OrmLite" version="4.5.0" targetFramework="net45" /> | |
| <package id="ServiceStack.OrmLite.Sqlite.Mono" version="4.5.0" targetFramework="net45" /> | |
| </packages> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment