This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
We are choosing an ORM for a major new project - mostly Silverlight, with some WinForms, eventually tablets. We have to have source. We do not want to change it, but we cannot afford to ever be stranded by a vendor and have contracts with our customers that limit our use of third party code. We have narrowed our choice to Entity Spaces and Light Speed. We have experience with an earlier version (2009) of Entity Spaces, but it has changed quite a bit since then. RIA support is important for Silverlight apps, portability across SQL Server and Oracle is vital. The app will have 100+ tables, 200 screens, with 10 programmers working on it. If anyone out there has used both products, and could offer any sage advice, it would be appreciated. In particular:
Thanks in advance! |
|
|
Hi there 2cdneh, I've used EntitySpaces for years in a reasonably stable product and have used LightSpeed in a couple of products over the last year or two. I haven't renewed my ES license for a while now, so keep in mind their UI may have changed since I last saw it. Without picking through your list bullet by bullet I'll just recommend LightSpeed and say why. I should also mention I develop web apps but don't dabble with RIA/SilverLight. Latest project is 90 tables. Firstly, I'm not a hard-core performance guy but rather someone who just wants to get the job done. Don't get me wrong - I enjoy this stuff - but generally rank other factors higher, at least intiailly. My approach is to do what works in not a completely stupid way, but make the time to find and fix any problems. So if you keep an eye on the generated SQL, use aggregates and joins where you need to, cache stuff up where you need to, etc, I can't see this being much of a differentiator. The LightSpeed designer has some nice options very close to the surface to make this easy - like the configuration of 1st and 2nd level caching, defining 'named aggregates' to do away with n+1 issues, a logger you can hook up to your integration tests to spit out the generated SQL, etc. This makes it pretty easy to do away with the obvious thorny issues. I prefer the LightSpeed plumbing and configuration. The LS designer is GREAT. The ES design-time experience (as it was?) was pretty hard to go through - especially if you're not doing it all the time. LS does a better job of hiding generated entity classes. Both allow you to add partials to house extending business logic. Just the whole design time experience with LS is smooth. I don't know what the ES syntax is like now, but it used to feel quite verbose. Once LS is in and you've included the namspaces it gets out of your way and you're left to simply query your DB with LINQ/Standard Query Operators, or use the alternative Query Objects syntax. The LS API is tight and concise which makes it easy to write code fast and still read it again afterwards. You can write the vast majority of your project's data access very quickly and in a very consistent way. Re your last points, I can't rate the Mindscape guys highly enough. They're always very attentive on these boards and it's unusual to go more than a few hours without a reply. They're also doing all the right things - nightly builds of their products, unit test coverage! etc. I'm on the latest stable so can't talk to being on the bleeding edge, but they're very good at support. To sum up, without taking anything away from the team behind ES, I'm actually moving a mature product from ES to LS just because it makes the whole design and development experience so much easier. Easier to write, easier to read, easier to round-trip. I love the ES guys for getting me started down this path back in the mid 00's, but I actually get excited at the thought of refactoring databases with LS. First time that's happened! Hope that helps. Alan |
|
|
LightSpeed is a lot like Entity Spaces, except its Entity Spaces on fire going 120 miles per hour through a hospital zone chased by helicopters and ninjas. And the ninjas are on fire too. |
|