Question:
As long term users of MyGen/DooDads, we have finally all of our customer projects in .Net 2 and am looking to purchase licenses of ES.
But i have a question :
On a number of key projects we have cause to use an extreme normalized DB structure where we basically normalize almost all of the attributes of an entity into (simplified) 2 tables
Eg :
Table : Product
ProductId (identity)
Table ProductProperties
ProductID (FK)
PropertyName
PropertyValue
Does ES have any support for such a structure, or something similar - 1) normalizing 2) Querying by Attribute values
(I checked your on-line materials but could not answer that question.)
Or do you know of any tool set that does ?
Answer:
Based on admittedly limited information, particularly the Product table that consists only of a primary key, I would not describe that as super-normalized, but rather de-normalized, as it appears to violate 1st normal form. The PropertyNames in the ProductProperties table would typically be columns in the Product table
"Make a separate table for each set of related attributes, and give each table a primary key."
http://www.datamodel.org/NormalizationRules.html
If you can address that, it will make your life much easier no matter what tool or architecture you choose. That aside, there are some features in EntitySpaces that can help:
1) Just as in dOOdads, you can create views and generate entities and collections from the View. They are not update-able, however.
2) Our latest Beta has added Joins to the DynamicQuery mechanism.
http://community.entityspaces.net/forums/thread/5423.aspx
3) I think our Hierarchical properties will be the most beneficial, as you can add/load a Product entity, and add/change the properties in prod.ProductPropertiesByProductID. Saving the Product will save changes to its downstream children (ProductProperties), even filling in identity keys to the appropriate FK column.
http://www.entityspaces.net/portal/Support/Documentation/HierarchicalModel/tabid/146/Default.aspx
http://www.entityspaces.net/portal/Support/Documentation/HierarchicalOnetoOne/tabid/160/Default.aspx
I think your best course of action is to download the free Trial, see whether it addresses your concerns, and post back in the forums if you have questions.
David Neal Parsons
www.entityspaces.net