So, I tested out LinQ today, and found my way to Blinq which is an autogenerator admin tool for DB's generating a bunch of asp.net pages, linQ code, super fast, using a couple of cool things.
All in all very nice, generating a site with the following info in a matter of about 4 seconds.
1: public Table<Category> Categories;
2: public Table<Cultures> Cultures;
3: public Table<Permission> Permissions;
4: public Table<Statu> Status;
5: public Table<Item> Items;
6: public Table<ItemCategory> ItemCategories;
7: public Table<AspnetWebEventEvent> AspnetWebEventEvents;
8: public Table<CategoryRelation> CategoryRelations;
9: public Table<DynamicCode> DynamicCodes;
10: public Table<StatusCategory> StatusCategories;
11: public Table<TypeRelation> TypeRelations;
12: public Table<ItemPermission> ItemPermissions;
13: public Table<TypeInheritance> TypeInheritances;
14: public Table<ItemStatuses> ItemStatuses;
15: public Table<TypeSetting> TypeSettings;
16: public Table<ItemSetting> ItemSettings;
17: public Table<Sysdiagram> Sysdiagrams;
18: public Table<ItemStandardData> ItemStandardDatas;
19: public Table<AspnetApplication> AspnetApplications;
20: public Table<AspnetUser> AspnetUsers;
21: public Table<AspnetSchemaVersion> AspnetSchemaVersions;
22: public Table<AspnetMembership> AspnetMemberships;
23: public Table<AspnetProfile> AspnetProfiles;
24: public Table<AspnetRoles> AspnetRoles;
25: public Table<AspnetUsersInRoles> AspnetUsersInRoles;
26: public Table<AspnetPath> AspnetPaths;
27: public Table<ItemTypes> ItemTypes;
28: public Table<AspnetPersonalizationAllUser> AspnetPersonalizationAllUsers;
29: public Table<ItemContent> ItemContents;
30: public Table<AspnetPersonalizationPerUser> AspnetPersonalizationPerUsers;
Now, the cool thing is it actually works, i put in some test data, not to say it's perfect.
Some pages don't work, or throw exceptions, but I am led to believe that is due more to the
database not having any data to work with. Also, it points out some challanges, like naming
things with the same names in too many places. Since it picks up on relationships and some
other cool things.
I will try to "accomidate" the db to work with Blinq smoother, and I believe, that I will
use it as a basis for the ContentAPI core. Since it generates a very extendible core, but
with basic/limited built in functionaliry. Paula, the creator of Blinq, even did what I
originally did, putting in the observer property changes on all the properties. Making it
pretty straightfoward to upgrade to some things in the ItemType Filip and I had been talking
about and mocking up on our local code.
Now, people may say well, you can't use Blinq for rainbow, since you can't expect c# 3 to be
installed everywhere. Maybe... but Content API is going to take a little while, and all the
new techs are being pushed strong by MS, and I think this puts us in good place to push Rainbow
ahead of the game in the CMS world. Also, it keeps in line with the original idea that Content API
would be a pluggable piece into the core. And over time, replace most/all of it. Since that would
take time anyway, I am not really worried about the timeline. And Rainbow 2.0 seems to be a while
Away from production / release anyway. ( Reminds me, i have to check the SVN to see what's been
updated, as (shamefully) I have not been keeping up with MGF and CMR Progress recently with regards
to the providers, asp.netDB and push to DEV.
Ok, thats all for now.