Ejemplo n.º 1
0
        private void ProcessRoot(KeyLookupQueryNode keyLookup)
        {
            var keyPropertyValues = keyLookup.KeyPropertyValues.ToList();

            if (keyPropertyValues.Count == 1)
            {
                var kpv        = keyPropertyValues[0];
                var rootEntity = kpv.KeyProperty.DeclaringType as IEdmEntityType; // Get the entity that declares the Id property
                if (rootEntity != null)
                {
                    string prefix;
                    if (_map.TryGetIdentifierPrefixForProperty(rootEntity.FullName(), kpv.KeyProperty.Name, out prefix))
                    {
                        object keyValue = ProcessNode(kpv.KeyValue);
                        if (keyValue != null)
                        {
                            _sparqlModel.SelectEntity(
                                prefix + keyValue, keyLookup.Collection.ItemType.FullName());
                        }
                    }
                }
            }
        }