예제 #1
0
 internal void SetReference(Guid instanceId, object key, Guid referenceId)
 {
     if (!BPlusTreeOperations.TrySetEdgeToNode(provider, instanceId, new EdgeData(EdgeType.ListItem, key), referenceId))
     {
         throw new KeyNotFoundException("Item not found with the specified key");
     }
 }
예제 #2
0
        internal void SetScalar(Guid instanceId, Guid itemTypeId, object key, object value)
        {
            Guid id = Guid.NewGuid();

            // Create new value node
            var node = new Node <Guid, object, EdgeData>(NodeType.Scalar, value);

            provider.SetNode(id, node);

            if (!BPlusTreeOperations.TrySetEdgeToNode(provider, instanceId, new EdgeData(EdgeType.ListItem, key), id))
            {
                throw new KeyNotFoundException("Item not found with the specified key");
            }
        }