Mindscape
  • Register
  • Login
  • YOUR CART IS EMPTY
home
Software
  • Developers Toolbox
  • LightSpeed
  • Raygun
  • WPF Elements
  • Web Workbench
  • Metro Elements
  • Silverlight Elements
  • NHibernate Designer
  • Phone Elements
  • WPF Diagrams
  • Simple DB management
  • Visual Tools for SharePoint
Downloads
Store
  • Buy online
  • Purchase order
  • Volume discounts
  • Reseller
  • Software license
  • Contact sales
Blog
Support
About
  • About Us
  • Contact
  • Testimonials
rss
twitter
facebook
Domain Modelling Techniques Inheritance Value Objects Reference Data and Lookups

Reference Data and Lookups

Many domains contain reference data – data that is generally static, and that users are not expected to modify.  Typical examples include lists of countries or currencies.  Reference data is also known as lookup data, referring to the fact that you use look things up in the reference data, but you don’t change it.

A transactional entity – that is, one which is taking part in a unit of work – may refer to reference data, and it’s convenient to materialise this reference data as an entity for lookup purposes.  For example, a Customer might have a reference to a Country so that you can display the country name.  But for large data sets it’s not desirable for a reference entity to have a collection of all the entities associated with it.  For example, if you have tens of millions of customers, you probably don’t want each Country entity to have a collection of the customers in that country.

For this scenario, LightSpeed supports one‑way associations.  To make an association one‑way, select the association arrow and delete the collection name.  You should also cache the reference data entity using the Cached and Cache Expiry settings.

(To make a one‑way association between hand‑coded entities, omit the EntityCollection<T> field on the reference entity class, and apply NoReverseAssociationAttribute to the EntityHolder<T> field in the transactional entity class.)

One‑way associations should be used only with reference data.  There is an efficiency impact if you use a one‑way association and the referenced entity is not cached.  Therefore, one‑way associations are useful only when the associated entities can be loaded once and rarely change.

Data Products

  • LightSpeed ORM
  • NHibernate Designer
  • SimpleDB Tools
  • SharePoint Tools

DevOp Tools

  • Raygun

Visual Controls

  • WPF Elements
  • WPF Diagrams
  • Silverlight Elements
  • Phone Elements

Popular Products

  • Web Workbench

    Modern web development for Visual Studio!

  • Mindscape Megapack

    All Mindscape products for one awesome price!

Quick Links

  • Forums
  • Blog
  • Register
  • Login
  • Contact us
  • Twitter
  • Facebook
  • Google+
  • YouTube
  • Linkedin
  • Rss

© Mindscape 2025. Mindscape is a registered trademark of Mindscape Limited.

  • Terms
  • Privacy