示例#1
0
        private IQuery QueryFromTemplate(PersistenceContext context, PersistentEntryTemplate
                                         template)
        {
            IQuery query = NewQuery(context, template.className);

            AddFieldConstraints(query, template);
            return(query);
        }
示例#2
0
        public virtual IEnumerator Select(PersistenceContext context, PersistentEntryTemplate
                                          template)
        {
            LogMethodCall("select", context, template);
            IQuery query = QueryFromTemplate(context, template);

            return(new ObjectSetIterator(query.Execute()));
        }
示例#3
0
        private void AddFieldConstraints(IQuery query, PersistentEntryTemplate template)
        {
            if (template.fieldNames.Length == 0)
            {
                return;
            }
            var c = AddFieldConstraint(query, template, 0);

            for (var i = 1; i < template.fieldNames.Length; ++i)
            {
                c = c.And(AddFieldConstraint(query, template, i));
            }
        }
示例#4
0
 private IEnumerator Select(PersistentEntryTemplate template)
 {
     return(_provider.Select(_context, template));
 }
示例#5
0
 private IConstraint AddFieldConstraint(IQuery query, PersistentEntryTemplate template
                                        , int index)
 {
     return(query.Descend(template.fieldNames[index]).Constrain(template.fieldValues[index
                                                                ]));
 }
示例#6
0
 private IQuery QueryFromTemplate(PersistenceContext context, PersistentEntryTemplate
     template)
 {
     var query = NewQuery(context, template.className);
     AddFieldConstraints(query, template);
     return query;
 }
示例#7
0
 private void AddFieldConstraints(IQuery query, PersistentEntryTemplate template)
 {
     if (template.fieldNames.Length == 0)
     {
         return;
     }
     var c = AddFieldConstraint(query, template, 0);
     for (var i = 1; i < template.fieldNames.Length; ++i)
     {
         c = c.And(AddFieldConstraint(query, template, i));
     }
 }
示例#8
0
 private IConstraint AddFieldConstraint(IQuery query, PersistentEntryTemplate template
     , int index)
 {
     return query.Descend(template.fieldNames[index]).Constrain(template.fieldValues[index
         ]);
 }
示例#9
0
 public virtual IEnumerator Select(PersistenceContext context, PersistentEntryTemplate
     template)
 {
     LogMethodCall("select", context, template);
     var query = QueryFromTemplate(context, template);
     return new ObjectSetIterator(query.Execute());
 }
		private IEnumerator Select(PersistentEntryTemplate template)
		{
			return _provider.Select(_context, template);
		}