Blog
All Blog Posts | Next Post | Previous Post
My Top 10 Aurelius Features - #5 LINQ Expressions and Paging
Monday, January 30, 2017
Most examples and quick-start tutorials about ORM frameworks explain how to insert, update and retrieve single entities in the database. But not many of them go further and show how to perform a query in the database. Maybe because that's something that the developer will only need after many data is inserted, and it's something that is only heavily needed when the application development is at a more advanced stage. However, it's a very important feature, and that's why "LINQ Expressions and Paging" is my #5 feature of My Top 10 Aurelius Features.The reason for that is because you can really query your entities in a object-oriented way. It's not some SQL-like string you build, or SQL WHERE statement that you simply inject. It's really about querying object properties, comparing their values in Pascal (not in database), and using Pascal syntax to build the queries. Take a look at this example:
MyCustomers := Manager.Find<TCustomer> .Where( ( (Linq['Birthday'] > EncodeDate(1981, 10, 10)) and (Linq['Birthday'] < EncodeDate(1986, 2, 2)) ) or ((Linq['Sex'] = tsFemale) or Linq['Sex'].IsNull) or Linq['Name'].Contains('Walker') or Linq['Status']._In([TCustomerStatus.Active, TCustomerStatus.Prospect) ) .OrderBy('Name') .List;
Finally, a small feature of LINQ filtering that I enjoy a lot: paging. It's very simple to use and very handy:
MyCustomers := Manager.Find<TCustomer> .Take(10).Skip(50) .OrderBy('Name') .List;
To see in details how LINQ expressions and paging works, watch the video above, and if you want to get notified about upcoming videos, subscribe to our YouTube channel!
Wagner Landgraf

This blog post has received 2 comments.


Wagner Landgraf
All Blog Posts | Next Post | Previous Post
Following the kind of pagination definitions explained in this link :
https://medium.com/@PradipBhusnar/sql-for-pagination-queries-memory-and-performance-567af4913b50
What kind of pagination does Aurelius uses?, Indexed pagination or KeySet pagination?
I do the question because the Indexed pagination does have degradation in response times over large datasets while KeySet pagination keep the response times consistent.
Thank you.
Conde Cantero Manuel Alonso