ContainsKey
It is possible to search for the objects that contain given key with use of ContainsKey
Example:
Dynamic d1 = new Dynamic();
d1["ID"]
= 123;
db.Store(d1);
Dynamic d2 = new Dynamic();
d2["ID"]
= "SomeText";
db.Store(d2);
Dynamic d3 = new Dynamic();
d3["ID-1"]
= 45.89;
db.Store(d3);
var res =
db.ExecuteQuery("SELECT Dynamic WHERE
ContainsKey(ID)").Cast<Dynamic>();
Assert.AreEqual(2,
res.Count());
res = db.ExecuteQuery("SELECT Dynamic WHERE !ContainsKey(ID)").Cast<Dynamic>();
Assert.AreEqual(1,
res.Count());
Dynamic Inner = new Dynamic();
Inner["InnerField"] = "inner
field";
Dynamic Outer = new Dynamic();
Outer["OuterField"] = Inner;
db.Store(Outer);
res = db.ExecuteQuery("SELECT Dynamic WHERE ContainsKey(OuterField.InnerField)").Cast<Dynamic>().ToList<Dynamic>();
Assert.AreEqual(1,
res.Count());
And LINQ
var linqRes =
(from Dynamic
d in db where
d.ContainsKey("OuterField.InnerField")
select d).ToList();
Assert.AreEqual(1,
linqRes.Count());