Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@yetanotherchris
Last active December 13, 2015 18:59
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 yetanotherchris/4959794 to your computer and use it in GitHub Desktop.
Save yetanotherchris/4959794 to your computer and use it in GitHub Desktop.
ORMs: subsonic example
// This class is autogenerated for you by SubSonic, so it's a lot larger than this.
public class Person
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
public class PersonManager
{
public static void Example()
{
// Requires app.config/web.config settings (a SubSonicService node)
int page = 1;
int itemsPerPage = 10;
// Save example
Person person = new Person();
person.Id = Guid.NewGuid();
person.Name = "John";
person.Email = "john@aol.com";
person.Save();
// Number of records
int count = new Select().From(Person.Schema).GetRecordCount();
// All items
IList<Person> list = Select().From(Person.Schema).OrderAsc("Name").ExecuteTypedList<Person>();
// Paging
SubSonic.SqlQuery q = new Select().From(Person.Schema).InnerJoin(Address.Schema);
// You can append predicates like below
q = q.Where(Address.StreetColumn).IsEqualTo("Long Road");
list = q.Paged(page, itemsPerPage).ExecuteTypedList<FeedItem>();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment