Ask Slashdot: agnostic entity relationships Inefficient, or flatly impossible?originalmouse (2450446) writes "I'm building an agnostic framework which will track every last stick of equipment, employee, location, and software license for a very large company. the only data required by the core is a set of tables which track an entity(computer, license, human, location, desk, whatever), the database the actual entity lives in, the type of entity (primarily for ease of use when expanding on this program) and how the entity relates to other entities. i'm required to use SQL server 2010, and C# with MVCRazor and jQuery. the site will be intranet based, and the project will eventually be THE portal for the entire company (Network Security, HR, IT Ops, you name it). thing is... those pieces will probably be added AFTER i'm done writing it all, by some other programmer.
i've been trying to write it so the core system doesn't need to know anything about the layers on top of it, and that each "plugin" has its own connection string, exposed methods, and imbedded views, so anything being added later only has to know about the data upon which it's dependent, but knows nothing about the plugins dependent upon it.
each "entity" will have its "entityID" and also a "subID" to use when talking directly to a plugin (type "people", for instance, would have a "subID" that points to a PK in the "People" database.)
really, my questions are: "can you see any security concerns?" and "does anybody on slashdot have any insights when it comes to building programs agnostically (bottom up)?" and "this seemed like an obvious relationship system to me, but i can't find any examples like mine, which leads me to think there are reasons why something like this doesn't work. is this inefficient? is it fundamentally flawed?"
my base application is built around http://mvcpluginframework.codeplex.com/