Generics, Collections…
Database supports generic containers
public class FileDetails
{
public string Name { get; set; }
}
public class MyFile
{
public List<FileDetails>
info { get; set;
}
}
…
var mf = new MyFile() {
info = new List<FileDetails>() };
mf.info.Add(new FileDetails()
{ Name = "log.txt" });
mf.info.Add(new FileDetails()
{ Name = "notes.doc" });
db.Store(mf);
var files = db.ExecuteQuery("SELECT MyFile WHERE info._items.Name = 'log.txt'");
Where _items is an array inside List<>.
Database attempts to make all properties searchable, thus even private
properties are available for search.
All these properties can be discovered using Reflector for instance.
To query generics types shall be written using CLR
names
List<int> data = new List<int>();
data.Add(1);
data.Add(2);
db.Store(data);
var numbers =
db.ExecuteQuery("SELECT List<Int32>
WHERE _items CONTAINS 2");