Blog Options
Archive
<< April 2024 >>-
Wednesday 17
- New free component for sophisticated file uploads with TMS WEB Core -
Tuesday 16
- Closing the gap with TMS FNC UI Pack new additions -
Thursday 11
- Unveiling the Latest Enhancements in TMS VCL UI Pack -
Friday 5
- TMS components and Delphi and C++Builder 12.1 -
Wednesday 3
- Customizing the login page of your application using TMS Sphinx
- A Python library for using StellarDS.io effortlessly
- Introducing: How it Works with Holger - Building a Pexels gallery app with TMS WEB Core video series
- TMS FNC Cloud Pack with StellarDS.io backend: unparalleled productivity in VCL & FMX
Authors
- Bernard Roussely (1)
- Wagner Landgraf (82)
- Roman Yankovsky (2)
- Bart Holvoet (27)
- Aaron Decramer (17)
- Pieter Scheldeman (99)
- Nancy Lescouhier (32)
- Adrian Gallero (33)
- Bruno Fierens (403)
- Marcos Douglas B. Santos (5)
- Wagner R. Landgraf (1)
- Bradley Velghe (16)
- Bernard (2)
- Andrew Simard (86)
- Holger Flick (15)
- Gjalt Vanhouwaert (30)
- Tunde Keller (22)
- Masiha Zemarai (119)
Blog
All Blog Posts | Next Post | Previous PostMy Top 10 Aurelius Features - #2 LINQ Projections
Bookmarks:Monday, March 6, 2017
LINQ Projections is the runner-up feature of My Top 10 Aurelius Features. It's a sort of "sequel" of the #5 feature LINQ Expressions and Paging, and you can see it in action in the video below.You could consider that "LINQ Expressions" and "LINQ Projections" are just sides of the same feature. That's not incorrect indeed. But LINQ is a so nice feature of TMS Aurelius that it deserved to be split in two parts. And the reason that projections (and not expression) is ranked higher is just because it's at the core of LINQ.
The coolness of LINQ is more due projections than expressions in my opinion. An expression is actually just a comparison of two projections. It's in the projections that all complexity lies in. And it allows beautiful and complex queries like the following to be written:
Get the unit price and quantity of each order detail, multiply them, and group the sum of it by the year of Order Date.
Manager.Find<TOrder> .CreateAlias('OrderDetails', 'd') .Select(TProjections.ProjectionList .Add(Linq['OrderDate'].Year.Group.As_('Group')) .Add((Linq['d.UnitPrice'] * Linq['d.Quantity']).Sum.As_('Value')) ) .Where(Linq['OrderDate'].Year._In([1997, 1998])) .OrderBy('Value')
Cool, isn't it? You can see queries like the ones above in action, by watching the video above. Don't forget to subscribe to our YouTube channel to get notified about upcoming videos!
Wagner Landgraf
Bookmarks:
This blog post has not received any comments yet.
All Blog Posts | Next Post | Previous Post