How does LightSpeed stack up to some of the other O/R Mapping and domain modeling frameworks available for .NET? Here is some information to help you make up your mind about LightSpeed
|LINQ to SQL
|LINQ to SQL
|Multiple identity generation support
|Supports SQL Server 2005+
|Supports Amazon SimpleDB
|Runs under Mono
|Dynamic Data support
|Multiple Eager Load Graph Support
|Single table inheritance
|Visual Studio integrated designer
|Command line generation tools
|Supports .NET 2.0
|Supports .NET 3.5
|Supports .NET 4.0
|Memcached caching support
|Auto updated, created date population
|Visual Studio Debug Visualiser
|Efficiently batches queries
|Stored procedures support
|Runs under medium trust
|Full text search engine built-in
|Integrated database migrations support
What about NHibernate?
NHibernate is a very comprehensive open source object relational mapping framework. It is well suited to supporting legacy database schemas and imposes very few conventions. The cost of this is that NHibernate can be challenging to learn and configure. Developers need to create complex XML mapping files, imposing a significant configuration and maintenance overhead even on simple models.
LightSpeed adopts the opposite philosophy: that simple mappings should happen automatically, and that developers should pay the 'complexity tax' only when they need more complex mappings. If you're dealing with a legacy database which doesn't have a natural mapping to your object model, the flexibility of NHibernate justifies the complexity cost. For most non legacy (and many legacy) scenarios, however, LightSpeed's convention based approach makes it easier to use than NHibernate, and much quicker to get started with.
What about performance?
LightSpeed is all about providing great performance while maintaining ease of use. When you're dealing with a remote, shared, potentially heavily loaded resource like a network database, you can't just rely on Moore's Law to get better performance. It doesn't matter how fast your computer is if it has to issue a thousand requests to the database. So the LightSpeed engine optimises database accesses, for example by batching requests and by using configurable eager loading.
We also optimise the object relational mapping code, so that once the data has arrived from the database, it gets turned into objects as quickly and efficiently as possible.
Finally, unlike some technologies (see the table above), LightSpeed optimises updates and inserts as well as reads, ensuring that saving data back to the database is also fast and efficient.
The upshot of this is impressive overall performance. While we don't have the expertise with other ORMs to publish fair comparisons ourselves, we receive considerable feedback from customers who are shocked at how much better LightSpeed performs than the products they were using.
Yes, yes we are. However we do try and ensure developers get the best tool for the job because it does not help us to have unhappy users. If you have a certain scenario where you think LightSpeed may be useful, ask us, and if it won't be the best tool for the job we will say so.