LINQ Basics
Learn how to leverage LINQ (Language Integrated Query) of C# to sort, filter, group content-items. This demo uses the following 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
- 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"])
- The compiler often can't guess object types we are using, we often need to cast lists to:
IEnumerable<dynamic>
The easiest way is to just run it through AsList(original as object)
.
The as object
part necessary because of limitations in Razor.
Simple Where(...) and Any()
Simple First() and Last()
This filters the authors with long first names.
Simple Sorting of Persons