Larkware banner
border

Review: EntitySpaces

EntitySpaces 1.5.1, starting at $79
EntitySpaces LLC
http://www.entityspaces.net/portal/Home/tabid/36/Default.aspx

EntitySpaces bills itself as "Persistence Layer and Business Objects for Microsoft .NET 2.0." The idea here is pretty simple: you use the EntitySpaces templates, which run inside the free MyGeneration code generator, to build a batch of code from your database. From that point on, you can pretty much forget the database and just work with the generated objects in your code, trusting EntitySpaces to do the right thing. When things change in the database, you regenerate the EntitySpaces code, without touching your own custom code, and go merrily on your way.

The code you write to interact with EntitySpaces is pretty straightforward, though it may take you a few minutes to get used to their naming conventions, especially on their hierarchical mapping (which, to its credit, the product can build automatically tracing primary and foreign key relationships). For example, here are some basic CRUD operations:


// Create a new product
Products entity = new Products();
entity.AddNew();
entity.Color = "Red";
entity.Size = 10;
entity.Save();
// Retrieve a product by PK
Products entity = new Products();
entity.LoadByPrimaryKey(12701);
// Update a product after loading
entity.Color = "Blue";
entity.Save();
// Delete a product
entity.MarkAsDeleted();
entity.Save();

You get the idea. There's some learning curve to this stuff, but it's not steep.

EntitySpaces has quite a number of advanced features. These include a provider model that lets you use multiple databases in a single application, or even switch entities from database to database in midstream, quite easily; a nice little object model for dynamic queries (as well as a stored procedure generator that's part of the setup for your initial application); several ways to retrieve and iterate through collections of objects; design time grid binding; support for XML and binary serialization; transactions, and DotNetNuke support. ASP.NET and DotNetNuke templates are included as part of the product. As of version 1.5, they also support using the new LINQ syntax against EntitySpaces collections, positioning this product on an upgrade path for the next version of ADO.NET. Support and the bulk of the documentation is online; you'll want to make sure you've got a decently-fast net connection handy as you browse around this product. There's also a good set of examples that installs with the product.

In addition to a 45-day demo version, you'll find a tiered pricing model here. $79 gets you the Express version, with a single database provider (Access, SQL Server, MySQL, or Oracle). $179 gets you the Professional version, with a choice of three providers. For $399 you get the Enterprise version, with all of the providers as well as full source code.

EntitySpaces screenshot  Click for larger screenshot 

Mike GunderloyLarkware is the editor of Larkware, the daily .NET newspaper of record.

Published October 31, 2006