Blog
All Blog Posts | Next Post | Previous PostMy 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 not received any comments yet.
All Blog Posts | Next Post | Previous Post