ice.NET Queries

ice.NET Queries combine comprehensible, domain-oriented modeling capabilities from the object-oriented world with impressive performance and expressive power from the world of relational queries.

With ice.NET we specify powerful queries in terms of objects and relationships. These queries are executed by the platform using highly aggregated SQL queries optimized for the particular database that stores the ice.NET data.

This approach avoids performance degradation due to query storms that can be discovered in traditional object-oriented systems that retrieve complex results by navigation.

Queries can be defined two different ways:

  • by creating a Query Specification object (ice.NET SDK) and setting its parameters appropriately
  • by creating an XML Query Specification

There are three types of built-in queries:

  • Find Queries that retrieve data according to containment in folder hierarchies and attribute values
  • Expand Queries that retrieve data according to relationships with other objects
  • Join Queries that retrieve data according complex network relationship structures

An example of a XML Query Specification can be found here...