Skip to main content

LINQ Tutorials

Tutorial HomeLINQ

Learn how to leverage LINQ (Language INtegrated Query) of C# to sort, filter, group content-items. This demo uses the folloing data in app:

  • Persons - various people who are used in the data. A person can also have one or many favorite books.
  • Books - books people wrote or contributed to. Books have authors and

Some notes before we start

All our code uses some general stuff explained here:

  • to enable LINQ commands we always need:
    @using System.Linq
  • since LINQ often can't guess object types we are using, we often need to cast lists to:
    IEnumerable<dynamic>
    Since this makes our code harder to read, so we shorted that to Dynlist by adding this line to the beginning of the files:
    @using Dynlist = System.Collections.Generic.IEnumerable<dynamic>;
  • most of the code starts by retrieving a list of Books and Authors. This is done using:
    App.Data["Books"]
  • Since we want to use dynamic types (which lets us write things like book.Name, we usually wrap it with:
    AsList(App.Data["Books"])
  • You'll sometimes see @Html.Partial(...) - this is not important for the LINQ examples, so you can ignore this for now.

LINQ Examples

  1. Basic looking for something with Where(...) and Any(...)
  2. Get First() / Last() item in a list
  3. Take() / Skip() items in a list
  4. Count() items in a list
  5. Basic sorting of lists
  6. Get Authors of Books (sub-items) to show and for sorting
  7. Group books by authors in 3 ways
  8. Access a list in list in list
  9. Go backwards - find Books pointing to Authors with Parents(...)

More Information around LINQ

  1. LINQ Manual from Microsoft
  2. LINQ guide to working with dynamic things in C# in the 2sxc wiki
  3. Using LINQ with 2sxc from the wiki