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.