Complex Dynamic Objects
Dynamic
objects can contain other dynamic objects
Dynamic dynAddress
= new Dynamic();
dynAddress["StreetName"] = "Wall
street";
dynAddress["HouseNumber"] = 54;
Dynamic dynHero
= new Dynamic();
dynHero["Name"] = "Spiderman";
dynHero["Address"] = dynAddress;//dynamic object field
Dynamic dynPerson
= new Dynamic();
dynPerson["Name"] = "Mr.Black";
dynPerson["Hero"] = dynHero; //dynamic object field
db.Store(dynPerson); //
stores all referenced objects as well
SQL
syntax for complex dynamic objects is similar to native objects
SELECT Dynamic WHERE Hero.Address.StreetName = 'Wall street'
SELECT Dynamic WHERE Hero.Address.StreetName + 5 = 'Wall street5'
Object
fields in dynamic objects can be accessed in an array-like manner
from Dynamic
d in db where d["Hero"]["Address"]["StreetName"] == "Wall
street" select d
from
Dynamic d in
db where (string)d["Hero"]["Address"]["StreetName"] + 5 == "Wall
street5" select d