Skip to content

Instantly share code, notes, and snippets.

@mythz
Last active November 23, 2020 09:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mythz/a733869bf1a1980c52910ad5eee5f2c9 to your computer and use it in GitHub Desktop.
Save mythz/a733869bf1a1980c52910ad5eee5f2c9 to your computer and use it in GitHub Desktop.
Ensures with Dynamic SqlExpression Example
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
OrmLiteUtils.PrintSql(); // view generated SQL
OrmLiteConfig.StripUpperInLike = true; // comment to force insensitive like comparisons
public class Table
{
[AutoIncrement]
public long Id { get; set; }
public string B { get; set; }
public int A { get; set; }
}
db.CreateTable<Table>();
var X = new[] { "001", "002" };
var q = db.From<Table>()
.Ensure(x => x.A == 100);
foreach (var item in X)
{
q = q.Or(x => x.B.StartsWith(item));
}
var results = db.Select(q);
<?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