LightSpeed 5 beta is out!

BOOM! That’s the sound of the worlds best .NET ORM getting a major update! :-)

We’re excited to be announcing the immediate availability of the LightSpeed 5 Beta.

LightSpeed 5 Beta Released

We have a big list of addition, changes and bug fixes so for now I’m just going to highlight some key differences in this post. In January we’ll be running a series on the major features when the final version is released.

Compiled Queries

Compiled queries allow you to speed up querying by having LightSpeed pre-parse the expression and get it ready for sending to the database. This provides a great speed up on repeated queries even if the parameter values change.

Then we got to thinking.

What if common queries (e.g. fetch by Id and others) were always pre-compiled behind the scenes?

What we found was huge: the performance benefits were great. This led us to turning on compiled queries for certain queries by default so you don’t need to use the compiled queries syntax. This resulted in a 60% performance boost. Free performance gain for all LightSpeed users — always a good thing. Especially good since LightSpeed is already blazingly fast!

LightSpeed vs Entity Framework performance

Note: Posting any sort of performance comparison typically results in howls about how unfair they are or unrealistic but this highlights the speed of LightSpeed’s querying engine for a simple case. Suffice to say, LightSpeed does awesomely in complex scenarios also :-)

Database provider changes

We are working towards allowing end users to implement their own database providers and to allow support for mobile scenarios, to that end we have made some under the hood changes to the provider infrastructure in 5.0 as well as refreshing our supported providers.

Of note:

  • A SQL 2012 provider that includes support for the Sequence identity type
  • Improvements have been made in the designer to better reflect the list of available providers and to improve the design time experience for developers
  • The database provider infrastructure has been overhauled as a precursor to allowing us to bring LightSpeed to mobile platforms in the future.

Visual Studio 2012 Support

We have had this in the nightly builds most of this year, but it’s worth mentioning again – LightSpeed 5 ships with full designer support for Visual Studio 2012, Visual Studio 2010 and Visual Studio 2008.

Additionally we have dropped the .NET 2.0 only compatibility build of LightSpeed so that LightSpeed can more directly make use of .NET 3.5 features in the core runtime.

Ever improved querying

We have continued iterating our querying support since 4.0 RTM with the core runtime now supporting HAVING expressions and more advanced sub-queries. For LINQ we have improved our handling of more complicated grouping queries and use of sub-queries to support staged query construction using IQueryable. The core runtime now also exposes a RawSql property on the query object to allow arbitrary SQL to be expressed where previously stored procedures or FindBySql would need to be used – this allows joining on an arbitrary SQL statement to handle situations where you need to explicitly control the SQL being emitted.

Small acorns

Whether it’s the ability to get an offending Validation rule when checking an entity is valid, or get more details about your entities using the LightSpeed.Meta framework, you’ll find something to delight you with LightSpeed 5. We look forward to hearing your feedback on the beta and we can’t wait to get LightSpeed 5 final out early in 2013!

The LightSpeed 5 Beta is now available to all active customers, and you can download this from your My Account page now!

Non-customers will have the 5 release in very early 2013 (or you can upgrade from LightSpeed 4 Free Edition and get the beta).

Metro Elements Weekly Update 4

One of the controls we added last week to Metro Elements was the CoverFlow control. This week we have continued to work on this control by making it more flexible, easier to customize and added more features. The CoverFlow control displays a collection of items that the user can slide through using touch and mouse gestures. Each item can be templated and display any content from simple pieces of data to arrangements of several visual elements. The CoverFlow uses virtualization meaning it can handle even the largest collections of item. The layout of the items is very flexible as you can specify a PathGeometry for the items to follow and define functions to customize the scale, spacing, rotation and opacity of each item. Here are some initial screen shots of what’s possible:

CoverFlow displaying pages of information:

CoverFlow

Curvaceous path:

Curvaceous Path

Rotated items:

Rotated Items

As well as minor bug fixes and improvements to other controls, another useful update is the MonthCalendar.DayOfMonthTemplateSelector property. This lets you customize the look of days displayed in the MonthCalendar control. One way of utilizing this feature is to display data on each day like in the example here:

Month Calendar

Stay tuned for next weeks update as we roll out more features and controls!

Thanks again to everyone who has been providing us with feedback and requesting features. If you have any questions about our Metro Elements controls, head on over to the forum. Or if you have any requests, let us know in the think tank.

Until next time, get the latest beta update now!

LightSpeed.MetaData, coming in LightSpeed 4

LightSpeed MetaData is crazy delicious

I’m pleased to announce that we’ve just shipped our last functional enhancement release for the LightSpeed 4.0 release and it includes the last major feature addition: LightSpeed.MetaData.

Blimmy, what’s this all about then?

Over the years we’ve had consistent requests from our users that they’d like to be able to access the LightSpeed Meta Model. This gives developers the power to access the entity models, field models and other interesting stuff that we keep tucked away. Typically, keeping things tucked away is a good thing as it keeps LightSpeed easy to learn and not too intimidating for the common use cases which is why we’re implementing this in a different assembly.

With LightSpeed 4 we will be shipping a new assembly: Mindscape.LightSpeed.MetaData.dll

From this library developers can use handy extension methods to pull out information about an Entity. This means three things:

  • No need to write messy reflection code to access our internal model
  • No need to worry that we might change something internally and break your code
  • You now have even more ways of doing crazy cool stuff with LightSpeed.

What does the API look like?

Currently the API is nice and simple. We have implemented the MetaData capabilities through Extension Methods so the first thing you’ll need to do is add a reference to Mindscape.LightSpeed.MetaData.dll and then add a using statement:

using Mindscape.LightSpeed.MetaData;

Once that’s done you’ll have an extension method on any entity:

      Car car = new Car();
      EntityInfo entityInfo = car.EntityInfo();

Easy as that. From the EntityInfo object you can access information such as if SoftDelete is enabled, if Versioning is enabled, if CascadeDeletes are enabled and more. The interesting thing is that you can also walk the fields off an entity and inspect their information such as type, if they’re associations, read only status etc.

What would I use this for?

It really depends on your situation if you’d find a use for this capability. For example, in LightSpeed 4 we will be shipping an EntityModelBinder for ASP.NET MVC that is built using the LightSpeed.MetaData library so that we don’t need to rely on ugly reflection. We also have developers who want to do perform generic cloning operations who would find this useful. This is why we’re excited to see what people do with LightSpeed.MetaData – the only limit is on your imagination.

Right, so how do I get my hands on this?

LightSpeed 4 Beta is available to all LightSpeed customers who have active subscriptions right now. You can download it from your store account.

If you’re waiting for LightSpeed 4 to ship before purchasing then don’t – grab a LightSpeed 3.11 license and you’ll get updated LightSpeed 4.0 release on RTM.

Tagged as Beta, LightSpeed

WPF Elements 4.0 beta is out now!

WPF Elements 4.0 beta is out!

The key focus for WPF Elements 4.0 was to include a high performance suite of charting controls to add to the existing 30+ controls. We delivered a fantastic range of charting controls for Silverlight in 2010 and had great feedback that developers wanted to see the same offered in WPF Elements.

Chart types included in WPF Elements 4.0

  • Bar
  • Line
  • Area
  • Pie
  • Doughnut
  • Bubble
  • Scatter
  • Spline
  • Spline area
  • Stacked bar
  • Stacked line
  • Stacked area
  • Stacked spline area

Of course new releases aren’t just about new controls – it’s also about improving the existing controls. We’ve added several new features to the scheduler, property grid, outlook bar and drop down edit box. New disabled visual states were added to the Office style themes as well. Bug fixes have been rolled up from the WPF Elements 3.0 nightly builds also.

This is on top of all the existing controls in the suite such as the WPF Property Grid, WPF Scheduler, Coverflow, Multicolumn TreeView and many many more.

Of course with the power of WPF you’re able to customise the look and feel of these charting controls (and in fact any control in WPF Elements) to suit your application’s design aesthetic. WPF Elements includes 5 themes to help you start out with a great look and feel.

Give it a test drive!

Currently all existing WPF Elements customers have access to the beta install bits from their account (You should see “WPF Elements 4.0 – Beta”). Betas are currently only available to customers however we expect to be shipping the final version very soon. If you’re not yet a customer but are working with WPF you should have a look at WPF Elements 3.

Screenshots

Here’s a taste of the charts that are included. They’re from the development team and include examples of custom styles. The screen shots are just a sample of what is possible and obviously don’t show off how fast and interactive the charts can be.

Custom WPF Chart Style with a stacked bar chart
A custom chart style for the stacked bar chart

WPF Bar chart with custom axis labels
Bar chart with custom axis labels

WPF Cylinder Chart
WPF cylinder chart in action

WPF bar chart with data dependant styles
WPF bar chart with data dependant styles – notice how the bars change colour depending on their value

WPF spline chart
WPF spline chart – smooth curves

WPF Stacked Area Chart
WPF stacked area charts

WPF Stacked Spline chart
Of course you can stack spline charts as well.

Logarithmic YAxis WPF chart
Axis scaling is possible, here we have a logarithmic Y axis scale

WPF Doughnut Chart
Doughnut charts – both delicious and useful for showing your data

WPF Pie Chart with partial display
The classic Pie Chart for WPF. Notice that partial pie rendering is possible, in this case one segment is not displayed.

Horizontal Stacked Bar Chart
Data does not need to be displayed vertically. Many different options exist in all charts for controlling the display of the chart data.

We’d love your feedback

As with everything we do, we love to hear our users feedback. Either post a comment below or fire something into our WPF Elements forum.

Introducing Visual Tools for SharePoint

With Office 2010 and SharePoint 2010 being released today to MSDN subscribers it’s time to take the wraps off our latest creation: Visual Tools for SharePoint. Stunning name, very Microsoft inspired! ;-)

Visual Studio 2010 Visual Tools for Sharepoint

Get Visual Tools for Sharepoint FREE

The first 50 people to create accounts with Mindscape (click here to register) and then email their username and email address to jd@mindscape.co.nz will get a free license to Visual Tools for SharePoint. I’ll update this post when the give aways are complete, but be quick! UPDATE: All the free copies have been taken sorry!

What would you say…. you do?

Visual Tools for SharePoint is our first SharePoint related product and one of the exciting new features in SharePoint 2010 is “LINQ to SharePoint”. As many of you will know, our LightSpeed product has a fantastic LINQ provider and design surface for databases, so we are interested in all things LINQ. Microsoft have not made a visual design surface in Visual Studio for modeling things in SharePoint that you wish to query – you need to use an arcane command line tool. We love our Visual Studio integration and decided we could do better!

Here’s a screenshot (click to see it larger):

Visual Studio 2010 showing Visual Tools for SharePoint 2010

So you can connect to SharePoint from the VS 2010 Server Explorer, drag and drop your lists and have us create LINQ to SharePoint contexts and classes for you. No more mucking around with command lines and XML configuration files! This helps developers save time, makes generating your objects to query much easier and saves you having to leave Visual Studio 2010. Plus you can quickly update your models from the SharePoint site so as to see what’s new or changed.

What do you think?

With any new product we need end user feedback – that’s why we’re giving away copies to the first 50 users. You’ll get immediate access to the beta and a free copy of the toolkit when the retail version ships. (You’ll need Visual Studio 2010 Professional or above, and SharePoint 2010, to use the product.)

We want to evolve all of our products based on the feedback we receive and make all the changes available to users through our much loved nightly build process. Please let us know what you think in the comments on this post or in our forums :-)

So what are you waiting for? Sign up and email us your username and email address now!

Archives

Join our mailer

You should join our newsletter! Sent monthly:

Back to Top