We’re pleased to announce the release of LightSpeed 3.1, a major update to our LightSpeed domain modelling tool and object-relational mapper. LightSpeed 3.1 rolls up an number of bug fixes and minor enhancements, and adds a number of major new features.
Visual Studio 2010 designer integration
Well, there’s not a lot to say about this — it does exactly what it says on the tin! You can now use the LightSpeed designer in Visual Studio 2010, with all your favourite features like database synchronisation, migrations, validation and so on just as they were in Visual Studio 2008. Since there’s not much to say, we’ll let the screenshot do the talking.
Breaking large models into multiple files
Large models are the bane of visual designers: as a model gets very large and complicated, the design surface gets crowded and sprawling, and it becomes hard to focus on the detail of a particular section. LightSpeed now offers the ability to break a model across multiple files using a feature we call linked models. If you use the same model name for models in multiple files, LightSpeed will merge them into a single runtime model. You can create associations that span files, and you’ll be able to use those associations at runtime just as you can use ‘normal’ associations between entities within a single model file.
By the way, if you’re one of the people who’s pressed us for this feature at a conference or user group or in the forums, you may have heard us saying that it was going to require support that was only in Visual Studio 2010. That would have been annoying, so we figured out a way to do it in 2008 as well. Good times!
Saved views in the designer
What if your model is large but doesn’t split nicely into linked files? LightSpeed 3.0 supported a number of filtering options whereby you could choose to view only a subset of your model — a particular aggregate, for example, or a set of entities related by a tag. However, you had to re-enter the filter each time you wanted to apply it. No more! LightSpeed 3.1 allows you to save these filters and access them from a handy menu. This new Quick View feature makes it easy to set up common views and convenient to jump between them according to the task at hand.
Class table inheritance
LightSpeed 3.0 supported polymorphic inheritance via single table inheritance, also known as table per hierarchy, where the data for all the entities in the hierarchy was combined into a single table representing the entire hierarchy. If derived classes have a lot of fields, that STI table starts to look a bit messy. Class table inheritance addresses this by having a separate table for each class in the hierarchy, each table storing only the fields introduced by the corresponding class. This makes the database design tighter at the expense of more complicated queries (because the tables need to be joined at runtime). LightSpeed 3.1 supports class table inheritance both at runtime and in the designer, so you can easily create CTI database schemas from a LightSpeed model.
LightSpeed 3.1 also includes a bunch of smaller features — too many to list here, but here are a few favourites:
Check out the change log for a full list of enhancements and fixes.
Check it out!
LightSpeed 3.1 is available in the store now, and it’s a free upgrade for existing LightSpeed 3.0 users. Or grab the free Express edition from the Downloads page. LightSpeed 3.1 is a major upgrade: take it for a spin today!